Получить виртуальный URL при использовании маршрутизации с веб-формами - PullRequest
2 голосов
/ 25 января 2011

Как получить виртуальный URL-адрес, а не имя страницы веб-формы, на которое отображается URL-адрес при использовании System.Web.Routing with webforms.

Мне нужен URL-адрес "/ verify / 5", а не"Confirm.aspx".

Ответы [ 2 ]

1 голос
/ 25 января 2011

Чтобы получить перенаправленный URL для страницы, которую вы сейчас посещаете , используйте Request.Url, как отмечает Павел.

Если вам нужно получить перенаправленный URL для другой страницы (например, при создании гиперссылки на другую страницу), используйте метод Page.GetRouteUrl.

Вот фрагмент кода, показывающий использование Page.GetRouteUrl. Это из моей статьи, Маршрутизация URL в ASP.NET 4 :

lnkCategory.NavigateUrl = Page.GetRouteUrl ("Просмотреть категорию", новый {CategoryName = "Напитки"});

В приведенном выше фрагменте «View Category» - это имя правила маршрутизации, которое я хочу использовать. CategoryName является одним из параметров маршрутизации, и я хочу использовать значение «Напитки». Вышеуказанный вызов Page.GetRouteUrl возвращает строку "/ Categories / Beverages". (Конечно, точная строка возврата зависит от правила маршрутизации «Просмотреть категорию» и значений параметров, но, надеюсь, вы поняли идею.)

0 голосов
/ 25 января 2011

Попробуйте следующее: System.Web.HttpContext.Current.Request.Url.AbsolutePath

...