我想知道是否有办法避免在每个页面中使用关键字@using导入一些代码。
示例:我想在某些页面中使用@Styles.Render("~/js/jquery-ui")
,我不想手动编写@using System.Web.Optimization
。
我在博客中看到我可以在<page>
的{{1}}中添加名称空间,但我尝试了这个,但它不起作用。
有什么办法吗?
答案 0 :(得分:5)
您可以将其添加到~/Views/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 other namespaces that you want to be available in scope
in all your Razor views
</namespaces>
</pages>
</system.web.webPages.razor>
答案 1 :(得分:2)
将其添加到{em> Views 文件夹中system.web.webPages.razor
元素下的web.config。
<system.web.webPages.razor>
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Optimization.Styles" />
</namespaces>
</pages>
</system.web.webPages.razor>
答案 2 :(得分:1)
您应该能够在web.config中添加全局命名空间,如here所述。