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

发布于 2024-10-05 01:18:45 字数 785 浏览 3 评论 0原文

我为UrlHelper编写了一个简单的扩展方法:

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

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

上面的代码位于/Helper/ExtensionMethods.cs中。它工作得很好,但我需要在每个我想使用 Url.Images() 的 cshtml 中添加 using MyNamespace.Helper; 。以前,我们会在 web.config 中添加另一行:

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

但是 Razor 似乎没有选择上面的内容。我尝试将 using 语句添加到 _ViewStart.cshtml 中,结果相同。

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

I wrote a simple extension method for UrlHelper:

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

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

The above code resides in /Helper/ExtensionMethods.cs. It works just fine but I need to add using MyNamespace.Helper; in every cshtml where I want to use the Url.Images(). I the old days we would add another line to web.config:

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

But the above does not seem to be picked up by Razor. I tried adding my using statement to _ViewStart.cshtml, with the same result.

So, what's Razor's way of specifying a using across the entire site?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葵雨 2024-10-12 01:18:45

正如接受的链接答案所示,您可以通过添加到配置文件的部分来将“使用”添加到所有视图中。

对于特定视图,您可以使用

@using MyNamespace.Helper

As the accepted linked answer suggests you can add "using" to all views by adding to section of config file.

For a particular view you can just use

@using MyNamespace.Helper

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文