按照 MVC4 教程,"Model"从何而来,如何更改其值?



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
}

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

相关内容

最新更新