Как получить доступ к параметру QueryString, если я использую маршрутизацию

Я использую ASP.NET Routing для красивых URL-адресов, но не могу получить доступ к QueryStringParameters (только значение RouteData). Я использую маршрутизацию с веб-формами.

Вот пример моего RegisterRoutes (Global.asax):

routes.MapPageRoute("Catalog", "{language}/catalog/", "~/Pages/Catalog.aspx?step=1");

Я использую этот код для доступа к параметру "step" на странице Catalog.aspx:

string value = Request.QueryString["step"];

Но это возвращает ноль.

Как получить доступ к параметру QueryString "step", если я не хочу получать его из RouteData?

1 ответ

Используйте GetFreindlyURLSegement. Вам может понадобиться получить пакет NuGet (если у вас его еще нет) Micorsoft.AspNet.FriendlyURLs

var Segment = Request.GetFriendlyUrlSegments().ToList();
if (Segment.Count <= 0)
{
    return;
}

string param1 = Segment[0].ToString();
string param2 = Segment[1].ToString();
Другие вопросы по тегам