为了账号安全,请及时绑定邮箱和手机立即绑定

对将数据控制器传递给 viewmodel 进行查看感到困惑

对将数据控制器传递给 viewmodel 进行查看感到困惑

C#
慕娘9325324 2021-06-30 13:04:30
我已经 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>
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

UsersViewModel 包含一个列表Business.User。它不是一个列表Business.User

将迭代更改为 @foreach(var user in Model._Users)


查看完整回答
反对 回复 2021-07-10
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

好吧,奇怪的是,当我关闭我的 Index.cshtml 并使用 Model._Users 重新打开时,它开始工作


查看完整回答
反对 回复 2021-07-10
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信