编辑 - 只需重新修改问题
如果我有国家>州>城市
在我的国家/地区控制器中,我使用国家/地区使用ID及其状态填充视图模型。
在视图中,我可以说“对于每个州,显示人口”。
我不明白的是,如何在同一视图中说“每个州都要展示每个城市”。
一切都在同一个视图模型中吗?我应该使用嵌套的部分视图吗?如何将模型从国家/地区视图传递到州局部视图到城市局部视图?
结束修改
我的数据以父级>子>子>子时尚
组织以下是我的viewmodel实体
public country country { get; set; }
public IList<state> states { get; set; }
public IList<city> cities { get; set; }
这是我的观点
@model myproject.viewModel.vwcountry
@for (var c = 0; c < Model.country.states.Count(); c++)
{
@Html.Partial("_states", Model.states[c]);
}
第一个局部视图模型
@model myModel.state
//partial view displays stuff from model
这一切都很好。
现在,我想添加州的孩子们。这就是我失去的地方。
我觉得我应该传递视图模型而不是状态模型,但这甚至都不会编译。
我觉得应该有一个像这样的独立视图模型......
public state state { get; set; }
public IList<cities> cities { get; set; }
但是这个视图模型无法在当前上下文中提供给视图,它不存在。
我想这是一种常见的模式,但我没有找到类似的例子......
答案 0 :(得分:0)
你的模型不正确。这是正确的模型:
public class vwcountry
{
public country country { get; set; }
public IList<state> states { get; set; }
}
public class state
{
public state state { get; set; }
public IList<city> cities { get; set; }
}