Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MVC4的单个视图中访问多个模型中的项目_C#_Asp.net Mvc 4_Razor_View_Model - Fatal编程技术网

C# 在MVC4的单个视图中访问多个模型中的项目

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) 但我希

我对如何在mvc中从不同的视图访问变量有疑问。它们的设置方式是我在视图上有一个模式,我想显示多个模型的值。我知道我必须使用foreach语句来迭代这些项,但我不知道如何访问其他项

以下是我在视图中调用模型的方式:

@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