在Razor视图引擎全局函数(Global functions in razor view engi

2019-09-21 23:58发布

我想有这样一个全球性的方法w在本地化我的MVC应用我的Razor视图引擎。 我试过了

@functions{
    public string w(string message)
    {
        return VCBox.Helpers.Localization.w(message);
    }
}

但我要在我的每一个剃须刀页有这样的,我不希望出现这种情况。 我想知道我怎么能有一个可以在我的项目的每一个页面中使用全局函数?

Answer 1:

如何扩展方法:

namespace System
{    
    public static class Extensions
    {
        public static string w(this string message)
        {
            return VCBox.Helpers.Localization.w(message);  
        }
    }
}

被称为像这样:

"mymessage".w();

要么:

string mymessage = "mymessage";
mymessage.w();

要么:

Extensions.w("mymessage");


Answer 2:

您可以扩展的HtmlHelper:

扩展:

public static class HtmlHelperExtensions
{
    public static MvcHtmlString W(this HtmlHelper htmlHelper, string message)
    {
        return VCBox.Helpers.Localization.w(message);
    }
}

CSHTML:

@Html.W("message")


文章来源: Global functions in razor view engine