我试图通过RenderPartial调用@ Html.RenderPartial(“SomePage.cshtml”)在我的网站(而不是Web应用程序)中包含一些可重用的代码。在asp我只能使用#include virtual =“somefile.asp”。但是,我收到以下错误消息。
编译器错误消息:CS1061:'System.Web.WebPages.Html.HtmlHelper' 不包含的定义 'RenderPartial',没有扩展名 方法'RenderPartial'接受a 类型的第一个参数 'System.Web.WebPages.Html.HtmlHelper' 可以找到(你错过了吗? 使用指令或程序集 引用?)
我在web.config文件中包含了所有适当的引用。
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<pages>
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Collections.Generic"/>
</namespaces>
</pages>
RenderPartial仅适用于“Web应用程序”而非“网站”吗?
有没有更好的方法在整个网站中重用代码?
@RenderSection在我的情况下不起作用,因为我正在使用的布局不会在同一位置重用代码。
答案 0 :(得分:3)
通过使用@RenderPage(&#34; SomePage.html&#34;),我能够达到我想要的效果。只花了2天才找到答案:)
答案 1 :(得分:1)
您是否尝试在命名空间部分下添加<add namespace="System.Web.WebPages"/>
?