Спасибо, Винай! Это сэкономило мне часы поиска в Google!

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

<a href = '<%=GetRouteUrl("MyRoute", new {MyFirstRouteValue = "ABC", MySecondRouteValue=123}) #>' >Link Text</a>

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

Конечно, в классе App_Code нет объекта Page, поэтому я не могу просто вызвать GetRouteUrl. Глядя вдокументы на MSDN Я вижу то, что выглядит полезным.

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

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

Ответы на вопрос(1)

Ваш ответ на вопрос