Мне нужно использовать System.Web.Routing.RequestContext в модели представления для вызова HtmlHelper.GenerateLink ().
Хотя в теории вы могли бы написать:
var rc = HttpContext.Current.Request.RequestContext;
на практике вы никогда не должны делать что-то подобное в модели представления.Вот что должны делать помощники HTML:
public static MvcHtmlString GenerateMyLink<MyViewModel>(this HtmlHelper<MyViewModel> html)
{
MyViewModel model = html.ViewData.Model;
RequestContext rc = html.ViewContext.RequestContext;
//TODO: use your view model and the HttpContext to generate whatever link is needed
...
}
, а в вашем строго типизированном представлении MyViewModel просто:
<%= Html.GenerateMyLink() %>