Как использовать Control. GetRouteUrl из класса в App_Code

Я успешно использую маршрутизацию в веб-формах asp.net 4.0. На своих страницах я использую Page.GetRouteURL для генерировать такие маршруты.

Link Text

Это работает отлично, но я обнаружил, что бывают случаи, когда мне нужно иметь эту функциональность в классе в app_code. Я мог бы просто вручную построить маршрут с помощью String.Format, но это мило небрежно, так как это дублирует код в Global.asax, который определяет маршруты.

Конечно, в классе в App_Code нет объекта Page, поэтому я не могу просто вызвать GetRouteUrl. удобство. Это эквивалентно вызов RouteCollection.GetVirtualPath (RequestContext, String, RouteValueDictionary).

Итак, я следил за документами этой страницы , в которых говорится, что System.Web.Routing.GetVirtualPath () требует объекта System.Web.Routing.RequestContext. Я знаю об объекте HttpContext, но не могу понять, что такое RequestContext. Кому-нибудь повезло с этим?

5
задан Anthony Pegram 5 June 2011 в 17:34
поделиться