让我用下面的例子来解释我的问题。
我正在一个有意见的网站上工作:
Country.cshtml(这是父视图)
@model IEnumerable<MvcExample.Models.Countries>
@html.Partial("_States", Model)
_States.cshtml具有子部分视图
@Html.Partial("_Cities", Model)
_Cities.cshtml代码:
@foreach(var item in Model)
{
...
}
我应该如何将Country.cshml中的Model传递给_Cities.html?
答案 0 :(得分:0)
根据您传递的模型,您在部分视图中使用与父视图中相同的模型。您应该在将使用该模型的部分顶部的@model指令中引用正确的模型。所以尝试下面的版本:
Country.cshtml
@model IEnumerable<MvcExample.Models.Countries>
@html.Partial("_States", Model) // passing Model of type IEnumerable<MvcExample.Models.Countries>
_States.cshtml具有子部分视图
@model IEnumerable<MvcExample.Models.Countries>
.... // some other code
@Html.Partial("_Cities", Model) // passing Model of type IEnumerable<MvcExample.Models.Countries>
.... // some more code
_Cities.cshtml代码:
@model IEnumerable<MvcExample.Models.Countries>
.... // some code.
@foreach(var item in Model)
{
....
// iterate the items in the Model.
}
如果您希望通过模型中的某个属性,那么您也可以这样做:
@model IEnumerable<MvcExample.Models.Countries>
@html.Partial("_States", Model.States) // passing model of type IEnumerable<State> maybe?