我的一个观点(cshtml文件)中有以下行:
@Html.Partial("_ProviderRatingWidget", Model.RatingInfo)
在我的实验室里,一切似乎都运转正常。但在部署中,我们看到以下错误:
System.InvalidOperationException:传递到字典中的模型项的类型为“ProviderContactInfo”,但此字典需要“RatingCategorySummaryModel”类型的模型项。
Model
明确属于ProviderContactInfo
,Model.RatingInfo
明确属于RatingCategorySummaryModel
。那么这条线怎么能传递ProviderContactInfo
类型?
任何人都可以看到此行可能产生该错误的任何可能情况吗?
修改
哦,我应该指出上面这一行也是局部视图。 (部分视图正在加载另一个局部视图。)这可能与问题有关。
答案 0 :(得分:3)
我已经验证,如果您尝试传递的属性为null,则将传递当前模型。你可以解决这个问题:
@Html.RenderPartial("_ProviderRatingWidget", new ViewDataDictionary(Model.RatingInfo));
希望有所帮助!
答案 1 :(得分:0)
mmm我没有测试,但也许这项工作:
@Html.Partial("_ProviderRatingWidget", ((RatingCategorySummaryModel)Model.RatingInfo))
的问候。,
ķ