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

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

问题描述:

我有一个带有引用自身的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; 
    } 

如何做到这一点

+0

如何是一个PARENTID?你的CategoryID很长,但你的ParentID是一个i​​nt? –

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

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

代码片段

 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); 
     } 
  1. 接下来,我们已经创建了一个静态方法,其可以是对搜索可访问的并且该方法采取PARENTID作为输入。
  2. 通过家长会得到类别名称,这将返回到 查看。

开始=>

代码片段

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; 

     } 
    } 
} 
  1. 视图(在其中我们调用静态方法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

静态方法是视图模型的一种形式还是它在控制器内部。我如何做我的创建和编辑在行动控制器 – Ayobamilaye

+0

静态方法它用于显示数据,用于输入可以添加将不同的文本字段 – Saineshwar

+0

OKAY ..谢谢。我如何做我的创建和编辑 – Ayobamilaye