• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

ASP.NET MVC – 如何显示引用自身的模型的值

asp.net-mvc 来源:Ayobamilaye 5次浏览

我有一个带有引用自身的ParentID的模型。ASP.NET MVC – 如何显示引用自身的模型的值

public partial class Categories 
    { 
     public long CategoryID { get; set; } 
     public string CategoryName { get; set; } 
     public Nullable<int> ParentID { get; set; } 
    } 

在列表视图(索引视图),我希望能够以显示PARENTID(其中PARENTID不为空),而不是PARENTID类别名称。例如,我在下图中显示的是空白父项,因为我不知道如何处理它。

Category

索引视图

@foreach (var item in Model) 
    { 
     <tr id="[email protected]"> 
      <td>@i</td> 
      <td> 
       @Html.DisplayFor(modelItem => item.CategoryName) 
      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.ParentID) 
      </td> 

     </tr> 
     i = i + 1; 
    } 

如何做到这一点


===========解决方案如下:

我已经复制您发出去解决它。

  1. 首先我创建了一个模型。
public class Categories 
{ 
    public long CategoryID { get; set; } 
    public string CategoryName { get; set; } 
    public Nullable<int> ParentID { get; set; } 
} 
  • 控制器,与索引处理法,其返回分类来索引视图的一个列表。
  • 代码片段

     public ActionResult Index() 
         { 
    
          List<Categories> li = new List<Models.Categories>() 
          { 
    
           new Categories { CategoryID = 0 , CategoryName = "Work" , ParentID = 1}, 
    
           new Categories { CategoryID = 0 , CategoryName = "Goods" , ParentID = 2}, 
    
           new Categories { CategoryID = 0 , CategoryName = "Service",ParentID = 1 }, 
    
           new Categories { CategoryID = 0 , CategoryName = "Buildings",ParentID = 1}, 
          }; 
    
          return View(li); 
         } 
    
  • 接下来,我们已经创建了一个静态方法,其可以是对搜索可访问的并且该方法采取PARENTID作为输入。
  • 通过家长会得到类别名称,这将返回到 查看。

    代码片段

    namespace WebApplication1.Models 
    { 
        public static class ManageCategories 
        { 
         public static string GetCategoriesbyParentID(int? ParentID) 
         { 
          string data = string.Empty; 
    
          List<Categories> li = new List<Categories>() 
          { 
           new Categories { CategoryID = 0 , CategoryName = "Work" , ParentID = 1}, 
           new Categories { CategoryID = 0 , CategoryName = "Goods" , ParentID = 2}, 
           new Categories { CategoryID = 0 , CategoryName = "Service",ParentID = 1 }, 
           new Categories { CategoryID = 0 , CategoryName = "Buildings",ParentID = 1}, 
          }; 
    
          data = (from a in li 
            where a.ParentID == ParentID 
            select a.CategoryName).FirstOrDefault(); 
    
          return data; 
    
         } 
        } 
    } 
    
  • 视图(在其中我们调用静态方法GetCategoriesbyParentID并传递PARENTID到它。)
  • 代码

    @model List<WebApplication1.Models.Categories> 
    
        @{ 
        Layout = null; 
        } 
    
        <link href="~/Content/bootstrap.css" rel="stylesheet" /> 
    
        @{int i = 1;} 
    
        <table class="table"> 
    
         <tr> 
          <td>CategoryID</td> 
          <td>Bussiness Category Name</td> 
          <td>Parent Bussiness Category</td> 
         </tr> 
    
    
         @foreach (var item in Model) 
         { 
    
          <tr id="[email protected]"> 
           <td>@i</td> 
           <td> 
            @Html.DisplayFor(modelItem => item.CategoryName) 
           </td> 
    
           <td> @WebApplication1.Models.ManageCategories.GetCategoriesbyParentID(item.ParentID)</td> 
    
          </tr> 
          i = i + 1; 
         } 
        </table> 
    </div> 
    

    输出: –

    Output


    版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
    喜欢 (0)