我试图在acsx文件中使用Html.RenderPartial,并得到了一个错误:
编译器错误消息: CS1973:'System.Web.Mvc.HtmlHelper‘没有名为'RenderPartial’的适用方法,但似乎有一个名为“RenderPartial”的扩展方法。不能动态地分派扩展方法。考虑转换动态参数,或者不使用扩展方法语法调用扩展方法。
<a href="/projects/<%=project.Id %>">
<% Html.Label("fdf"); %>
<% Html.RenderPartial("ProjectName", Model.Id); %></a></li>
<%} %>但是,我已经导入了必要的名称空间,所以不会出现错误
<% Html.Label("fdf"); %>在ascx文件中是否有使用Html.RenderPartial的方法?
发布于 2010-09-29 14:29:19
编译器无法选择正确的方法,因为您的模型是dynamic。将呼叫更改为:
<% Html.RenderPartial("ProjectName", (int)(Model.Id)); %>或者任何其他数据类型Id都是。
发布于 2012-06-05 10:55:29
万一其他人犯了我同样的错误:
@Model MyViewModel这将将您的模型视为动态的。
@model MyViewModel这是一个正确的强类型视图。请注意资本化的不足!
请注意,这是Razor,不像最初的问题。
发布于 2011-11-29 12:37:33
我发现唯一能通过的方法。一个IEnumerable是创建一个局部变量并传入这个变量。例如,@{ IEnumerable<Demo.Models.Friend> friends = Model.Friends; Html.RenderPartial("_FriendsList", friends); }
Html.RenderPartial("_FriendsList", (IEnumerable<Demo.Models.Friends>)(Model.Friends));没有工作!
https://stackoverflow.com/questions/3822546
复制相似问题