带有视图模型的嵌套分部视图



edit - 只是改写问题

如果我有国家>州>城市

在我的国家/地区控制器中,我使用 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; }

但是,此视图模型不能提供给视图,因为在当前上下文中,它不存在。

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

您的模型不正确。 这是正确的模型:

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

相关内容

  • 没有找到相关文章

最新更新