【发布时间】:2018-05-28 15:09:54
【问题描述】:
我已经有 2 年没有做过任何 MVC 了,所以我觉得我现在很生疏。我使用下面的代码在我的页面上显示来自我的数据库的简单数据列表,但我收到错误
foreach 语句无法对“Models.UsersViewModel”类型的变量进行操作,因为“.Models.UsersViewModel”不包含“GetEnumerator”的公共定义
我确定我只是错过了一些非常愚蠢的事情,但正如我所说,我只是把脚放回池塘里。
感谢任何见解。
企业用户
public Decimal USER_ID { get; set; }
public String USERNAME { get; set; }
public String SURNAME { get; set; }
public String GIVENNAME { get; set; }
public static List<User> GetList()
{
Entities ctx = new Entities();
List<User> a = (from x in ctx.TABLE1
select new User()
{
USER_ID = x.USER_ID,
USERNAME = x.USERNAME,
SURNAME = x.SURNAME,
GIVENNAME = x.GIVENNAME
}).OrderBy(o => o.SURNAME).ToList();
return a;
}
控制器
public ActionResult Index()
{
ViewBag.EnvPath = CurrentENV;
var usersViewModel = new UsersViewModel();
usersViewModel._Users = Business.User.GetList();
return View(usersViewModel);
}
视图模型
public class UsersViewModel
{
public List<Business.User> _Users { get; set; }
}
查看
@model ProactiveDisclosure.Models.UsersViewModel
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th></th>
</tr>
@foreach (var item in Model) {
}
</table>
【问题讨论】:
-
@foreach (var item in Model._Users) { -
不应该是Model._Users吗?
-
我也是这么想的,但是 foreach 说“IEnumerable
”不包含“_Users”的定义,并且没有扩展方法“_Users”接受“IEnumerable”类型的第一个参数UsersViewModel>' 当我添加 Model._Users
标签: c# asp.net-mvc entity-framework