2013-04-13 17 views
0

我的每个视图都需要一个导航栏,它被放置在名为_NavigationPartial的局部视图中。此部分视图使用使用部分视图时忽略原始模型声明?

@model IEnumerable<ProOptInteractive.Models.ProductCategory> 

并且此导航栏需要此功能。然而,在一些我的看法,我宣布其他车型,其覆盖在局部视图模型,这让我试图在浏览器中打开这些视图时的错误:我怎样才能设置

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

@Html.Partial("_NavigationPartial") 

部分视图在我的视图中忽略原始模型声明?

+0

这是令人困惑的b/c偏差不会绑定到父母的模型 –

+0

这是错误:传递到字典中的模型项目类型为'ProOptInteractive.Models.ProductCategory',但此字典需要一个类型为' System.Collections.Generic.IEnumerable'1 [ProOptInteractive.Models.ProductCategory]”。显然他们是绑定的:P –

+0

很奇怪。我知道他们不是因为我每天都使用偏分量。显然需要更多信息,但我不确定... –

回答

0

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

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