我正在将我的预览5应用程序升级到Beta 1,并且在尝试渲染控件时,我几乎可以解决这个错误:
'System.Web.Mvc.HtmlHelper'没有 包含的定义 'RenderPartial',没有扩展名 方法'RenderPartial'接受a 类型的第一个参数 'System.Web.Mvc.HtmlHelper'可以 发现(你错过了使用 指令或程序集引用?)
我的标记(在.aspx查看内容页面中)是:
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
我尝试过使用Microsoft.Web.Mvc但无济于事。有谁知道Html.RenderPartial去了哪里,或者我可以使用什么替代方案?
答案 0 :(得分:9)
现已修复 - 冲突是预览5和Beta 1之间Web.config要求的差异。需要将以下内容添加到system.web编译程序集节点中:
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
在这次改变之后,我所有旧的HtmlHelper方法都神奇地回来了!
答案 1 :(得分:9)
并且不要忘记将以下命名空间添加到web配置中,我认为预览5默认web.config中没有System.Web.Mvc.Html:
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Linq"/>
<add namespace="System.Collections.Generic"/>
</namespaces>
答案 2 :(得分:2)
除了添加程序集引用外,我还必须添加行
<add namespace="System.Web.Mvc.Html"/>"
到web.config文件中的pages / namespaces部分。