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;
}
如何做到这一点
回答:
我已经复制您发出去解决它。
- 首先我创建了一个模型。
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