【问题标题】:Passing data to a view with MVC 6 EF使用 MVC 6 EF 将数据传递给视图
【发布时间】:2015-04-22 05:06:07
【问题描述】:
因为我看到几个人建议不要使用 ViewBag,所以我想知道如何正确使用:
返回视图()
我了解到您需要使用所谓的 ViewModel,但在您使用实体框架时,这些似乎并不适用。
如何将数据传递给视图?
如何在视图中访问所述数据?
【问题讨论】:
-
1) 视图模型非常适用于使用实体框架时。使用视图模型的最重要原因之一是因为视图中所需的大多数验证和数据完全不适合存在于实体类中。 2) 如果您遇到这样的问题,您需要花更多时间来熟悉 ASP.NET MVC。通过asp.net/mvc 阅读教程。
标签:
c#
asp.net-mvc
entity-framework
model-view-controller
viewbag
【解决方案1】:
您可以传递“视图模型”或对象,例如:
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?