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;

}

如何做到这一点

回答:

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

  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>

    输出: -

    以上是 ASP.NET MVC - 如何显示引用自身的模型的值 的全部内容, 来源链接: utcz.com/qa/259443.html

    回到顶部