使用部分视图时忽略原始模型声明?

时间:2013-04-13 01:35:05

标签: asp.net-mvc html5 asp.net-mvc-4

我的每个视图都需要一个导航栏,该导航栏位于名为_NavigationPartial的局部视图中。此部分视图使用

@model IEnumerable<ProOptInteractive.Models.ProductCategory>

此导航栏需要运行。但是,在我的一些视图中,我已经声明了其他模型,它们在部分视图中覆盖模型,并且在尝试在浏览器中打开这些视图时出现错误:

@model ProOptInteractive.Models.ProductCategory <!-- this is incompatible! -->

@Html.Partial("_NavigationPartial")

如何设置局部视图以忽略我的视图中的原始模型声明?

1 个答案:

答案 0 :(得分:0)

您应该使用允许您将模型传递给它的重载。如果我没弄错,Html.Partial会将父模型传递给局部视图。如果你@Html.Partial("_NavigationPartial", new[]{Model})满足部分对IEnumerable模型的要求。

你不能让视图忘记它的模型类型,你唯一能做的就是确保你传递正确的模型类型。