VisualStudio2010告诉我,这是有帮助Model Property associated with System.Mvc.ViewDataDictionary Object
,但是DataDictionary的文档似乎没有以易于理解的格式向我展示我想要的东西,至少是这样。
请注意,以下.cshtml
文件位于BorkedModel
的"视图"文件夹中,但我要访问的模型位于ExampleModel
的"模型"文件夹中。如果文件本身位于ExampleModel
的视图文件夹中,但不在其他模型的视图文件夹中,则此确切代码将起作用。
我ProjectTopDirectory/Views/BorkedModel/index.cshtml
@model IEnumerable<ExampleMVC4.Models.ExampleModel> @foreach (var item in Model) { <HTML here/> }
正在做的事情有没有解决方案,或者我应该只让模型保持在他们自己的视图中,仅此而已?有没有办法从一个模型的视图访问另一个模型?
若要在视图中使用强类型模型,需要将模型从控制器传递到视图:
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
}
更新:控制器操作方法应是从数据库中检索数据,然后将其传递到视图。视图的唯一工作是向用户显示数据。