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