我曾尝试在我的ASP.NET MVC 3应用程序的web.config文件中的configuration/system.web/pages/namespaces
中添加命名空间,以便在我的视图中使用这些命名空间中的类而不需要@using,但是这没有效果。我该如何向我的视图添加命名空间?
我曾尝试在我的ASP.NET MVC 3应用程序的web.config文件中的configuration/system.web/pages/namespaces
中添加命名空间,以便在我的视图中使用这些命名空间中的类而不需要@using,但是这没有效果。我该如何向我的视图添加命名空间?
MVC Razor在命名空间方面有所不同。
请查看第二个web.config,即位于您的Views文件夹中的那个,并以此方式添加命名空间。
<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>
我不确定为什么它如此不稳定,但很可能它实际上是在工作的,只是Visual Studio在你关闭并重新打开视图之前无法识别它。另外,请确保您在位于Views目录中的web.config文件中。
system.web.webPages.razor
的层次结构中(如果这是你正在使用的视图引擎)。 - ataddeiniconfiguration/system.web/pages/namespaces
而不是 @DisplacedGuy 建议的 system.web.webPages.razor
。 - Jake Petroules我使用了这种方法将资源文件包含到我的视图中,但Razor不想选择我的类。经过一些令人头疼的尝试后,我意识到我没有将Resources.resx
文件的访问修饰符更改为public(默认情况下创建为Internal)。一旦我更改并重新编译,我就可以从所有视图中访问我的资源。
新手错误,很遗憾看到它发生,但希望它能为某人节省一些痛苦。