Глобальные функции в режиме просмотра бритвы

Я хочу иметь глобальный метод, например w в моем браузере, для локализации моего приложения MVC. Я попробовал

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

но я должен иметь это на каждой странице бритвы, и я не хочу этого. Я хочу знать, как я могу использовать глобальную функцию, которая может использоваться на всех страницах моего проекта?

2 ответа

Как насчет метода расширения:

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");


Вы можете расширить HtmlHelper:

Расширения:

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

Cshtml:

@Html.W("message")

licensed under cc by-sa 3.0 with attribution.