0

VisualStudio2010 告诉我这Model Property associated with System.Mvc.ViewDataDictionary Object很有帮助,但DataDictionary的文档似乎并没有以一种易于理解的格式向我展示我想要的东西。

请注意,以下.cshtml文件位于BorkedModel的 View 文件夹中,但我要访问的模型位于ExampleModel的 Model 文件夹中。如果文件本身位于ExampleModelView 文件夹中,而不是位于不同模型的 View 文件夹中,则此确切代码将起作用。

ProjectTopDirectory/Views/ BorkedModel /index.cshtml

@model IEnumerable<ExampleMVC4.Models.ExampleModel> 

    @foreach (var item in Model)
{
    <HTML here/>
}

有没有解决我正在做的事情的方法,还是应该让模型保持在他们自己的视野中,仅此而已?有没有办法从另一个模型的视图访问一个模型?

4

1 回答 1

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
}

更新:您的控制器操作方法应该从数据库中检索数据,然后将其传递给视图。视图的唯一工作是向用户显示数据。

于 2012-11-18T03:24:41.677 回答