当我尝试渲染模型类型指定为的局部视图时:
@model dynamic
通过使用以下代码:
@{Html.RenderPartial("PartialView", Model.UserProfile);}
我得到了以下异常:
'System.Web.Mvc.HtmlHelper<dynamic>' has no applicable method named 'RenderPartial' but appears to have an extension method by that name. Extension methods cannot be dynamically dispatched. Consider casting the dynamic arguments or calling the extension method without the extension method syntax.
但是,.aspx文件中的相同代码可以完美地工作。有什么想法吗?
发布于 2010-10-29 06:14:24
我刚刚找到了答案,似乎我放置RenderPartial代码的视图有一个动态模型,因此,MVC无法选择正确的方法。将RenderPartial调用中的模型强制转换为正确的类型修复了此问题。
发布于 2011-03-19 03:43:22
与在RenderPartial调用中强制转换模型不同,由于您使用的是razor,因此可以从
@model dynamic
至
@model YourNamespace.YourModelType
这样做的好处是可以处理视图中的每个@Html.Partial
调用,还可以为您提供属性的智能感知。
发布于 2010-12-10 19:42:07
也可以被调用为
@Html.Partial("_PartialView", (ModelClass)View.Data)
https://stackoverflow.com/questions/4047543
复制相似问题