13

我只是在将我的 Preview 5 应用程序升级到 Beta 1 的过程中,并且在尝试呈现控件时,我几乎可以解决这个错误:

“System.Web.Mvc.HtmlHelper”不包含“RenderPartial”的定义,并且找不到接受“System.Web.Mvc.HtmlHelper”类型的第一个参数的扩展方法“RenderPartial”(您是否缺少 using 指令还是汇编参考?)

我的标记(在 .aspx 查看内容页面中)是:

<% Html.RenderPartial("Controls/UserForm", ViewData); %>

我试过使用 Microsoft.Web.Mvc 但无济于事。有谁知道 Html.RenderPartial 去了哪里,或者我可以使用什么替代方案?

4

3 回答 3

10

并且不要忘记将如下命名空间添加到 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>
于 2008-10-19T19:47:59.750 回答
9

现在已修复 - 冲突是预览版 5 和 Beta 1 之间的 Web.config 要求不同。需要将以下内容添加到 system.web 编译程序集节点中:

<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

在此更改之后,我所有的旧 HtmlHelper 方法都神奇地回来了!

于 2008-10-17T09:16:23.177 回答
2

除了添加程序集引用之外,我还必须添加该行

 <add namespace="System.Web.Mvc.Html"/>"  

到 web.config 文件中的 pages/namespaces 部分。

于 2008-10-17T16:19:12.217 回答