Получите виртуальный URL при использовании маршрутизации с помощью WebForms

StackOverflow https://stackoverflow.com/questions/4796829

Вопрос

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

Я хочу URL "/Подтверждение/5", а не "Подтверждение.aspx".

Это было полезно?

Решение

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

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

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

lnkcategory.navigateurl = page.getRouteurl ("View Category", new {CategoryName = "Beverages"});

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top