剃刀视图引擎中的全局功能

时间:2012-08-30 19:51:44

标签: c# asp.net-mvc c#-4.0 razor asp.net-mvc-4

我希望在我的剃刀视图引擎中有一个像w这样的全局方法,用于本地化我的MVC应用程序。我试过了

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

但是我应该在每个剃刀页面中都有这个,我不希望这样。 我想知道如何才能在项目的每个页面中使用全局函数?

2 个答案:

答案 0 :(得分: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")

答案 1 :(得分: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");
相关问题