C# 在MVC4的单个视图中访问多个模型中的项目
我对如何在mvc中从不同的视图访问变量有疑问。它们的设置方式是我在视图上有一个模式,我想显示多个模型的值。我知道我必须使用foreach语句来迭代这些项,但我不知道如何访问其他项 以下是我在视图中调用模型的方式:C# 在MVC4的单个视图中访问多个模型中的项目,c#,asp.net-mvc-4,razor,view,model,C#,Asp.net Mvc 4,Razor,View,Model,我对如何在mvc中从不同的视图访问变量有疑问。它们的设置方式是我在视图上有一个模式,我想显示多个模型的值。我知道我必须使用foreach语句来迭代这些项,但我不知道如何访问其他项 以下是我在视图中调用模型的方式: @model IEnumerable<MyApp.Models.Problems> 下面是我正在尝试做的一个例子: 这将调用正在加载的my Problems模型中的标题: @Html.DisplayNameFor(model => model.Title) 但我希
@model IEnumerable<MyApp.Models.Problems>
下面是我正在尝试做的一个例子:
这将调用正在加载的my Problems模型中的标题:
@Html.DisplayNameFor(model => model.Title)
但我希望它能够在同一视图中调用类别标题。任何人有任何想法或可以指出正确的方向,我将不胜感激 这就是如何使用嵌套的
foreach
循环来实现您想要的:
@foreach (Problems problems in Model)
{
foreach (Category category in problems.Categories)
{
@Html.DisplayNameFor(category => @category.Title)
}
...
}
您可能需要使用视图顶部的语句将添加到模型所在的名称空间中。即:
@using MyApp.Models
啊,我明白了。因此,我添加了使用部分,但当我调用“in Model.Problems”时,它给了我一个关于问题的错误,即-不包含“Problems”的定义,并且没有扩展方法“Problems”接受类型为的第一个参数。。。找不到。它也不允许我重命名类别,因为它们在同一范围内。可能不好。该行应为@foreach(模型中的问题)
。我已经编辑了我的答案。
@foreach (Problems problems in Model)
{
foreach (Category category in problems.Categories)
{
@Html.DisplayNameFor(category => @category.Title)
}
...
}
@using MyApp.Models