ASP.NET MVC区域不显示我的自定义助手

时间:2010-11-28 09:53:23

标签: asp.net-mvc razor asp.net-mvc-areas

我创建了名为Admin的区域。我在名为Helpers的根文件夹中有Custom Helper,当我使用@ Html.MyHelper()时,它正常工作;但我在我的Area View文件夹Razor页面中做了同样的事情,我没有看到MyHelper。我试图在Area View配置文件中添加命名空间但没有成功。有谁告诉我我错过了什么?

1 个答案:

答案 0 :(得分:1)

不确定“区域视图配置文件”是什么意思(你的意思是你所在地区的web.config吗?)。

尝试在CSHTML中明确包含命名空间:

@using MvcWebApplication1.Helpers.MyCustomHelpers

或者,您可以在 web.config:

中注册命名空间
<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <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="MvcWebApplication1.Helpers.MyCustomHelpers" />
      </namespaces>
    </pages>
</system.web.webPages.razor>

注意:在MVC3预览版中使用Razor进行名称空间注册存在问题,但已在beta / RC1中修复。有关详细信息,请参阅here