специальный символ в маршрутизации URL в веб-форме asp.net 4.0? - PullRequest
2 голосов
/ 10 июля 2011

Как обрабатывать специальные символы в URL при использовании маршрутизации URL в asp.net 4.0?

специальные символы, такие как (&,.)

Показывает ошибку как неверный запрос или опасный символ в URL.

Как обращаться?

предположим, у меня есть URL-адрес в файле Global.asax

protected void Application_Start(object sender, EventArgs e)
    {
        CustomRouteTable(RouteTable.Routes);
    }
void CustomRouteTable(RouteCollection routes)
    {
        routes.MapPageRoute("Product", "Product/{pId}/{ProductName}", "~/Product/ProductDetail.aspx");

    }

предположим, что productName является Phone & Cordless или Phone: Cordless тогда я получаю ошибку.

Как обращаться?

Ответы [ 2 ]

1 голос
/ 10 июля 2011

Вы должны просто избегать использования амперсандов в URL, которые не предназначены для обработки параметров строки запроса. Попробуйте вместо этого использовать «-and-» в названиях продуктов для своих URL.

0 голосов
/ 10 июля 2011

URL имеет специальный вид кодировки , который называется URL Encoding , и почти каждый язык веб-программирования (включая JavaScript) имеет способ кодировать и декодировать строки в и из URL кодирует строки. Как сказал @rkaregaran, я также настоятельно рекомендую использовать - (тире) или _ (подчеркивание) в URL.

В любом случае, насколько я вижу в вашем объяснении, я думаю, вы должны использовать /phone/cordless вместо phone:cordless. Кажется, что phone здесь является разновидностью таксономии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...