Это возможно, но если вам нужны методы внутри представления, возможно, вам следует вместо этого рассмотреть возможность расширения объекта Html методом расширения, а затем использовать эти методы из представления.
Мне нравится разделять свои расширения по функциональности, чтобы представление было читабельным.
Например:
public static MySpecialDateHelper SpecialDateHelper(this HtmlHelper helper)
{
return new MySpecialDateHelper(helper);
}
public class MySpecialDateHelper
{
// Fields
private HtmlHelper m_helper;
private StringBuilder m_sb = new StringBuilder();
// Methods
internal MySpecialDateHelper(HtmlHelper helper)
{
this.m_helper = helper;
}
// Print date prettily
public public string PrettyDate(datetime target)
{
// format however
return string.format("pretty {0}", target.ToString());
}
// Print date prettily
public public string PrettyDateInATextbox(datetime target)
{
return m_helper.TextBox("prettyid",PrettyDate(target));
}
// etc...
}
Тогда, на ваш взгляд, вам просто нужно сослаться на расширение, которое вы только что создали
<%= Html.SpecialDateHelper.PrettyDateInATextbox(Now); %>
Конечно, ваше разделение методов на расширения может отличаться, вы также можете напрямую расширять объект HtmlHelper методами, но я предпочитаю этот метод