2

编辑 - 只是改写问题

如果我有国家>州>城市

在我的国家控制器中,我用使用 id 的国家及其状态填充视图模型。

在视图中,我可以说“对于每个州,显示人口”。

我不明白的是,如何以同样的观点说“对于每个州,展示每个城市”。

一切都在同一个视图模型中吗?我应该使用嵌套的局部视图吗?如何将模型从国家视图传递到州局部视图再到城市局部视图?

结束编辑

我有以父>子>子>子方式组织的数据

这是我的视图模型实体

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; }

但是这个视图模型不能用于视图,因为在当前上下文中,它不存在。

我想这是一个常见的模式,但我还没有找到类似的例子......

4

1 回答 1

0

your model is not correct. here is the correct model:

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; }
}
于 2013-11-07T20:03:13.887 回答