2011-06-03 62 views
11

我想在我的ASP.NET MVC 3應用程序,所以我可以用在我的看法那些命名空間類而無需@using的web.config中添加命名空間configuration/system.web/pages/namespaces,然而這沒有效果。我如何將命名空間添加到我的視圖?添加命名空間來ASP.NET MVC 3次

回答

28

MVC剃鬚刀對名稱空間有不同的區域。

看第二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="Telerik.Web.Mvc.UI;"/> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 
+0

嘿,甚至沒有注意到那裏有一個web.config。有效100%,謝謝+1。將在幾分鐘內接受。 – 2011-06-03 01:10:47

+0

非常歡迎。我學會了自己的努力... – 2011-06-03 01:21:31

+9

請注意,關閉和重新打開視圖的下面的答案也需要在將Visual Studio文件夾添加到名稱空間並重新構建解決方案之後,Visual Studio停止向我提供錯誤之前。 – Matthew 2013-01-07 16:23:39

8

我不知道它爲什麼這麼片狀,但機會是,它實際工作,但直到你接近的Visual Studio不承認它,然後重新打開您所在的視圖。另外請確保您位於Views目錄中的web.config中。

+0

試過了,沒有骰子。 ;)我一定要在發佈之前嘗試上傳和執行頁面,並且它無法編譯視圖。 – 2011-06-03 01:09:11

+0

因此,您正在修改位於Views目錄根目錄的web.config,如@DisplacedGuy建議?我認爲應該照顧它。如果這是您使用的視圖引擎,請確保您位於'system.web.webPages.razor'層次結構中。 – ataddeini 2011-06-03 01:12:45

+0

是的,我最初的問題是我使用'configuration/system.web/pages/namespaces'而不是'system.web.webPages.razor'作爲@DisplacedGuy建議。 – 2011-06-03 02:01:24

1

我用這種方法將資源文件包含到我的視圖中,但Razor不想拿起我的類。經過一番拔毛之後,我意識到我沒有將Resources.resx文件上的訪問修飾符更改爲public(默認情況下,它創建爲Internal)。一旦我改變它&重新編譯,我可以從所有視圖訪問我的資源。

新手的錯誤,不願看到這一點,但希望它會節約一些疼痛。