【发布时间】:2014-03-19 14:19:33
【问题描述】:
我想使用 Html.DisplayModelFor() 在视图中显示项目列表。
这里是控制器:
public ActionResult Index() {
var person = new ApplicationUser();
person.Email = "Greg@gmail.com";
person.UserName = "Greg";
var person2 = new ApplicationUser();
person.Email = "Gary@gmail.com";
person.UserName = "Gary";
var list = new List<ApplicationUser>();
list.Add(person);
list.Add(person2);
return View(list);
}
这里是视图:
@model IEnumerable<WebApplication32.Models.ApplicationUser>
@Html.DisplayForModel()
这是名为 ApplicationUser 的 DisplayTemplate:
@model WebApplication32.Models.ApplicationUser
<div>
@Html.DisplayFor(u=> u.UserName)
@Html.DisplayFor(u=> u.Email)
</div>
结果只是显示的第一项。
如果我将视图更改为:
@model IEnumerable<WebApplication32.Models.ApplicationUser>
@foreach (var item in Model)
{
@Html.DisplayFor(x => x)
}
然后显示每个项目。
但第二种观点对我来说毫无意义:在 foreach 中,似乎没有使用“item”。然而它正在循环遍历这些项目。
【问题讨论】:
-
可能重复这个:stackoverflow.com/questions/8002059/… 顺便说一下,方法的名称是
DisplayForModel(),而不是DisplayModelFor()。
标签: asp.net-mvc asp.net-mvc-5.1