Я хочу создать маршрут из служебного класса, который не имеет доступа к ViewContext.
Возможно ли это? Кажется, нет никакого эквивалента ViewContext.Current
Я пробовал ловить рыбу во всех конструкторах для Routing и HttpContext, но не могу полностью получить то, что хочу.
Это то, что я ищу - хотя это не работает, потому что RouteTable.Routes
имеет тип RouteCollection
, а не RouteData
. Так близко - пока так далеко: -)
RequestContext requestContext = new RequestContext(HttpContext.Current, RouteTable.Routes);
UrlHelper url = new UrlHelper(requestContext);
var urlString = url.RouteUrl(new {controller="DynamicImage", action="Button", text="Hello World"});
Примечание: RequestContest имеет тип System.Web.Routing.RequestContext, а не HttpContext