使用 MVC 6 EF 将数据传递到视图

Passing data to a view with MVC 6 EF

因为我看到有几个人建议不要使用 ViewBag,所以我想知道如何正确使用:

return 查看()

我读到您需要使用所谓的 ViewModel,但当您使用 Entity Framework 时,这些似乎并不适用。

如何将数据传递给视图? 如何在视图中访问上述数据?

您可以传递一个 "view model" 或像这样的对象:

public ActionResult Index() {
    var model = new MyViewModel();
    model.MyProperty = "My Property Value"; // Or fill the model out from your data store. E.g. by creating an object to return your view model: new CreateMyViewModel();

    return View(model);
}

在您的视图页面(此处 Index.cshtml)顶部添加:

@model MyViewModel

并访问 MyViewModel 上的属性,如:

@Model.MyProperty
@Html.DisplayFor(model => model.MyProperty)

要获得更深入的答案,请查看:What is ViewModel in MVC?