在MVC4教程之后,“模型”来自哪里,如何更改它的价值?

时间:2012-11-18 02:57:56

标签: c# asp.net-mvc

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/>
}

我正在做什么的解决方案,或者我应该在他们自己的视图中保留模型,那就是它?有没有办法从另一个模型的视图中访问一个模型?

1 个答案:

答案 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。视图的唯一工作是向用户显示数据。