如何在整个站点中定义MVC 3 Razor View Engine中的使用?

问题描述:

我写UrlHelper一个简单的扩展方法:如何在整个站点中定义MVC 3 Razor View Engine中的使用?

public static class ExtensionMethods 
{ 
    private const string ImagesFolder = "~/Images"; 

    public static string Images(this UrlHelper url) 
    { 
     return url.Content(ImagesFolder); 
    } 
} 

上面的代码驻留在/Helper/ExtensionMethods.cs。它工作得很好,但我需要在每个cshtml中添加using MyNamespace.Helper;,我想使用Url.Images()。我过去的日子,我们将增加另一条线路web.config

<system.web> 
    <pages> 
     <namespaces> 
      <add namespace="MyNamespace.Helper"/> 
     </namespaces> 
    </pages> 
</system.web> 

但上面似乎没有被剃刀被拾起。我尝试将我的使用声明添加到_ViewStart.cshtml,结果相同。

那么,什么是Razor在整个网站上指定使用的方式?

+1

绝对是一个欺骗 - 只是没有在我的搜索通过它来了。感谢您的期待:-) – Dav 2010-11-29 23:55:34

由于接受的链接答案建议您可以通过添加到配置文件的部分添加“使用”到所有视图。

对于特定视图中,可以只使用

@using MyNamespace.Helper