Создание URL-адресов из веб-формы Routes asp.net 4.0 - PullRequest
1 голос
/ 23 ноября 2011

Я использую asp.net 4.0 веб-форму проекта и маршрутизации.Мне нужно знать фактическую страницу, которая обрабатывает запрос.Предположим, мой URL-адрес маршрутизации похож на

http://mysite.com/product/audi В основном у меня есть страница product.aspx, и audi передается в качестве значения строки запроса.фактически product.aspx обрабатывает запрос.Могу ли я программно извлечь имя страницы и имя строки запроса и данные.В результате я могу построить URL позже, как

http://mysite.com/product.aspx?cat=audi

, пожалуйста, помогите мне построить URL со строкой запроса из перенаправленного URL.спасибо

Добавлена ​​часть

, когда мы отображаем маршрут в global.asax как

`protected void Application_Start(object sender, EventArgs e)
{ 
 RegisterRoutes(RouteTable.Routes); 
}
public static void RegisterRoutes(RouteCollection routes)
{ 
 routes.MapPageRoute("","Product/{category}","~/Product.aspx");
}

, тогда мы получаем маршрут маршрута как http://www.mysite.com/products/software но внутренний URL-адрес выглядит как http://www.mysite.com/products.aspx?category=software., поэтому мне просто нужно повернуть вспять. Я передам URL-адрес как http://www.mysite.com/products/software любой подпрограмме, а процедура вернет мне URL-адрес, например http://www.mysite.com/products.aspx?category=software., просто скажитемне, как я мог это сделать.

1 Ответ

0 голосов
/ 23 ноября 2011

Из блога ScottGu:

Получение URL-адресов в веб-форме ASP.NET

Механизм маршрутизации URL-адресов в ASP.NET можно использовать как для сопоставления входящих URL-адресов с обработчиками кода, так и для программной генерации исходящих URL-адресов с использованием той же логики регистрации сопоставления.

Например, выше, когда мы сопоставили URL / products / {category}, мы дали ему «понятное имя» «products-browse». Это позволяет нам теперь также использовать новый вспомогательный метод Page.GetRouteUrl () для поиска маршрута в системе маршрутизации URL, при желании указать параметры для него и затем получить фактический URL, на который он отображается. Например, приведенный ниже код будет получать значение URL «/ products / software»:

enter image description here

Маршрутизация URL-адресов с помощью веб-форм ASP.NET 4 (VS 2010 и .NET 4.0 Series)

...