2011-08-30 58 views
1

我寫了一個htmlhelper,然後在web.config文件中添加了命名空間。asp.net mvc3,如何在全局添加namespacing?

<pages> 
     <namespaces> 
      <add namespace="System.Web.Helpers" /> 
      <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.Web.WebPages"/> 
      <add namespace="MvcApplication3.HtmlHelpers"/> 
     </namespaces> 
    </pages> 

由於某種原因,這是行不通的,在頁面中,我仍然需要導入這個名稱空間來使用htmlhelper。

@using MvcApplication3.HtmlHelpers

我做了什麼錯?

+0

您確定您使用的是完整的mvc或beta版嗎? –

+0

你有沒有把它添加到正確的Web.Config? – Martin

回答

4

一定要將此添加到「視圖」文件夾中的web.config中,而不是添加到根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="itWORKS" /> 
     <add namespace="itWORKS.MVC" /> 
     <add namespace="OfertaPlus.Services" /> 
     </namespaces> 
    </pages> 
+0

此外,在將命名空間添加到此文件後,在智能感知適用於您的名稱空間之前,您需要卸載並重新加載項目。 – counsellorben