【问题标题】:ASP.NET MVC Beta 1 - where is Html.RenderPartial?ASP.NET MVC Beta 1 - Html.RenderPartial 在哪里?
【发布时间】:2010-09-17 17:52:35
【问题描述】:

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

'System.Web.Mvc.HtmlHelper' 没有 包含一个定义 'RenderPartial' 并且没有扩展 方法“RenderPartial”接受 类型的第一个参数 'System.Web.Mvc.HtmlHelper' 可能是 找到(您是否缺少使用 指令还是程序集引用?)

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

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

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

【问题讨论】:

  • 他们肯定喜欢搬东西 :)
  • 是的,我认为他们从中得到了某种病态的快感......
  • 好问题 - 我们今天从 Preview 5 升级到 1.0,这真的很有帮助!
  • 好吧,尽管它很烦人,但最好在 Beta 期间把它弄好,而不是在 RTM 之后更改它。

标签: asp.net-mvc html-helper renderpartial


【解决方案1】:

并且不要忘记在 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】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多