Html 在MVC4中迭代模型项
我想遍历从Html 在MVC4中迭代模型项,html,asp.net-mvc-4,view,model,Html,Asp.net Mvc 4,View,Model,我想遍历从foreach(模型中的var项)返回的项。与(int i=0;i的类似,您不能迭代项,因为项属于RegisterViewModel类型。这样做没有意义 如果要显示该值,可以直接使用它,如下所示: @model IEnumerable<Project.Models.RegisterViewModel> @foreach(item in Model) { <div>@item.Value</div> } .Where扩展方法返回一个IEnu
foreach(模型中的var项)
返回的项。与(int i=0;i的类似,您不能迭代项
,因为项
属于RegisterViewModel类型。这样做没有意义
如果要显示该值,可以直接使用它,如下所示:
@model IEnumerable<Project.Models.RegisterViewModel>
@foreach(item in Model) {
<div>@item.Value</div>
}
.Where扩展方法返回一个IEnumerable
,因此您希望:
IEnumerable<RegisterViewModel> model = db.RegisterViewModel.Where(data => data.Name == User.Name);
return View(model);
什么是item
?你能展示Model
的代码吗?我肯定我可以在否决票中使用一些解释。我相信这个问题是非常有效的,因为我在服务器端几乎找不到任何东西可以迭代元素。我认为唯一的方法是将对象解析到客户端并使用JavaScript对于其余部分。那么是否可以将该项目键入ICollection?现在,您已经更新了您的问题并提供了更多详细信息,这一点很清楚。您不能迭代项目
,因为项目
不是一个集合。基本上您已经拥有了该模型的集合。我已经更新了我的答案以反映这一点。是的,谢谢这是我的研究让我发现的。如果我可以迭代项,我希望避免编写大量冗余的HTML代码。
更新了我的问题,告诉我为什么要使用for循环来迭代该项。
model IEnumerable<Project.Models.RegisterViewModel>
@foreach(item in Model) {
@for(int i=0; i<item.Length;i++) { \\this is where I would like to iterate though the item
if(item[i]!= null) // using a for loop would avoid me having to write this if condition multiple times.
<div>@item[i].value</div>
}
@model IEnumerable<Project.Models.RegisterViewModel>
@foreach(item in Model) {
<div>@item.Value</div>
}
RegisterViewModel model = db.RegisterViewModel.Where(data => data.Name == User.Name);
IEnumerable<RegisterViewModel> model = db.RegisterViewModel.Where(data => data.Name == User.Name);
return View(model);
var model = db.RegisterViewModel.Where(data => data.Name == User.Name);
return View(model);