我遇到了如何从mvc中的不同视图访问变量的问题。我设置它的方式是我在视图上有一个模态,我想显示多个模型的值。我知道我必须使用foreach语句迭代这些项目,但我不知道如何访问其他项目。
这就是我在视图中调用模型的方式:
@model IEnumerable<MyApp.Models.Problems>
以下是我尝试访问值的模型:
public class Problems
{
public int Id { get; set; }
public string Title { get; set; }
public IEnumerable<MyApp.Models.Category> Categories { get; set; }
public IEnumerable<MyApp.Models.Type> Types {get; set;}
}
这是我的其他型号:
public partial class Category
{
public int Id { get; set; }
public string Title { get; set; }
}
public partial class Type
{
public int Id { get; set; }
public int Order { get; set; }
public string Description { get; set; }
}
这是我想要做的一个例子:
这会调用正在加载的问题模型中的标题:
@Html.DisplayNameFor(model => model.Title)
但我希望它能够在同一视图中调用类别标题。任何人都有任何想法或可以指出我正确的方向,将非常感谢!!!
答案 0 :(得分:1)
这是如何使用嵌套的foreach
循环来实现您想要的:
@foreach (Problems problems in Model)
{
foreach (Category category in problems.Categories)
{
@Html.DisplayNameFor(category => @category.Title)
}
...
}
您可能需要在视图顶部添加using
语句,以包含模型所在的命名空间。即:
@using MyApp.Models