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

我已经 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>


慕娘9325324
浏览 153回答 2
2回答

慕莱坞森

UsersViewModel&nbsp;包含一个列表Business.User。它不是一个列表Business.User。将迭代更改为&nbsp;@foreach(var user in Model._Users)

慕尼黑5688855

好吧,奇怪的是,当我关闭我的 Index.cshtml 并使用 Model._Users 重新打开时,它开始工作
打开App,查看更多内容
随时随地看视频慕课网APP