У меня есть проект ASP.NET MVC3, и я пишу несколько методов расширения, которые возвращают HTML, но мне нужен UrlHelper для их рендеринга. Для этого я расширяю UrlHelper, но мне не нравится семантика, потому что UrlHelper должен работать с URL-адресами, а HtmlHelper — с HTML. Я хотел бы расширить HtmlHelper с помощью этих методов вместо UrlHelper.
Моя проблема в том, что я не знаю, как получить доступ к UrlHelper из метода расширения HtmlHelper, возможно ли это вообще? Или я должен придерживаться расширений UrlHelper.
Я знаю, что могу послать в качестве аргумента хелпер Url, но мне это решение не очень нравится.
Следующий код является примером метода расширения, о котором я говорю:
public static HtmlString AnchorLink(this UrlHelper url, string text, string action, string anchor) {
return new HtmlString(string.Format("<a href=\"{0}#{2}\">{1}</a>", url.Action(action), text, anchor));
}
Спасибо