我的每个视图都需要一个导航栏,该导航栏位于名为_NavigationPartial的局部视图中。此部分视图使用
@model IEnumerable<ProOptInteractive.Models.ProductCategory>
此导航栏需要运行。但是,在我的一些视图中,我已经声明了其他模型,它们在部分视图中覆盖模型,并且在尝试在浏览器中打开这些视图时出现错误:
@model ProOptInteractive.Models.ProductCategory <!-- this is incompatible! -->
@Html.Partial("_NavigationPartial")
如何设置局部视图以忽略我的视图中的原始模型声明?
答案 0 :(得分:0)
您应该使用允许您将模型传递给它的重载。如果我没弄错,Html.Partial会将父模型传递给局部视图。如果你@Html.Partial("_NavigationPartial", new[]{Model})
满足部分对IEnumerable模型的要求。
你不能让视图忘记它的模型类型,你唯一能做的就是确保你传递正确的模型类型。