VisualStudio2010告诉我Model Property associated with System.Mvc.ViewDataDictionary Object
这是有用的,但docs for DataDictionary似乎没有以易于理解的格式向我展示我想要的内容,至少。
请注意,以下.cshtml
文件位于BorkedModel
的View文件夹中,但我要访问的模型位于ExampleModel
的Model文件夹中。如果文件本身位于ExampleModel
的View文件夹中,但不在另一个模型的View文件夹中,则此确切代码将起作用。
ProjectTopDirectory /查看/的 BorkedModel /index.cshtml
@model IEnumerable<ExampleMVC4.Models.ExampleModel> @foreach (var item in Model) { <HTML here/> }
我正在做什么的解决方案,或者我应该在他们自己的视图中保留模型,那就是它?有没有办法从另一个模型的视图中访问一个模型?
答案 0 :(得分:2)
要在视图中使用强类型模型,您需要将模型传递给控制器的视图:
public ActionResult Index()
{
YourDBContext db = new YourDBContext();
IEnumerable<ExampleModel> model = db.GetDataFromDatabase();
return View(model); // Pass the model to the view
}
然后在您的视图中指定模型,该模型应允许您访问数据:
@model IEnumerable<NextFlicksMVC4.Models.ExampleModel>
@foreach (var item in Model)
{
// Your HTML
}
更新:您的控制器操作方法应该从数据库中检索数据,然后将其传递给View。视图的唯一工作是向用户显示数据。