对部分视图的争论是错误的类型 - 这怎么可能?

时间:2013-11-08 17:19:38

标签: c# asp.net .net asp.net-mvc

我的一个观点(cshtml文件)中有以下行:

@Html.Partial("_ProviderRatingWidget", Model.RatingInfo)

在我的实验室里,一切似乎都运转正常。但在部署中,我们看到以下错误:

  

System.InvalidOperationException:传递到字典中的模型项的类型为“ProviderContactInfo”,但此字典需要“RatingCategorySummaryModel”类型的模型项。

Model明确属于ProviderContactInfoModel.RatingInfo明确属于RatingCategorySummaryModel。那么这条线怎么能传递ProviderContactInfo类型?

任何人都可以看到此行可能产生该错误的任何可能情况吗?

修改

哦,我应该指出上面这一行也是局部视图。 (部分视图正在加载另一个局部视图。)这可能与问题有关。

2 个答案:

答案 0 :(得分:3)

我已经验证,如果您尝试传递的属性为null,则将传递当前模型。你可以解决这个问题:

@Html.RenderPartial("_ProviderRatingWidget", new ViewDataDictionary(Model.RatingInfo));

希望有所帮助!

答案 1 :(得分:0)

mmm我没有测试,但也许这项工作:

@Html.Partial("_ProviderRatingWidget", ((RatingCategorySummaryModel)Model.RatingInfo))

的问候。,

ķ