Методы расширения представления ASP MVC Razor, как создать 'глобальные' методы просмотра?

Я использую представление Razor с asp mvc предварительный просмотр 3

Я пытаюсь создать некоторые методы, которые я хотел бы доступный непосредственно в представлениях. Это не действительно вспомогательные методы HTML, таким образом, я не думаю, расширяя HtmlHelper, имеет смысл?

моя цель, смочь назвать методы в представлении т.е.

@HelloWorld(); vs @Html.HelloWorld()

Я могу получить HTML. HelloWorld для работы путем создания дополнительного метода на HtmlHelper

public static class HtmlExtensions
{
    public static string HelloWorld(this HtmlHelper helper)
    {
        return "Hello";
    }
}

Я хотел бы сделать то же самое, но для представления; моя проблема - какой объект является представлением?

Примечание: Я смог заставить это работать путем определения методов на .cshtml странице

@functions 
{
    public string HelloWorld()
    {
        return "Hello";
    }
}

@HelloWorld() @* now this works *@

затем я пытался поместить этот код мой _viewstart.cshtml файл, думая, что это будет доступно во всех представлениях, но это не было

если я знал, каким типом представление было, я думаю, что это могло быть легко расширено, любая ценившая справка

19
задан house9 20 October 2010 в 16:17
поделиться