ASP.NET URL кодирование / декодирование - PullRequest
0 голосов
/ 12 июля 2011

У меня есть два файла htmlpage1.htm и webform1.aspx

htmlpage1.htm содержит тег привязки с href = "webform1.aspx? Name = abc + xyz".

Когда я пытаюсь получить доступ к строке запроса в page_load файла webform1.aspx, я получаю «abc xyz» (abc [пробел] xyz). Я хочу точное значение в строке запроса "abc + xyz"

Примечание: значение href не может быть изменено

Любая помощь будет оценена

Спасибо.

Ответы [ 4 ]

7 голосов
/ 13 июля 2011

Это будет Server.UrlDecode для вас:

Request.QueryString["name"] // "abc xyz"

Вариант 1) Вы можете перекодировать

Server.UrlEncode(Request.QueryString["name"]); // "abc+xyz"

или получить необработанные данные запроса

Request.Url.Query // "?name=abc+xyz"

Вариант 2) Затем проанализируйте значение

Request.Url.Query.Substring(Request.Url.Query.IndexOf("name=") + 5) // "abc+xyz"
1 голос
/ 12 июля 2011

ASP.net расшифрует строку запроса для вашего. Вы можете получить необработанную строку запроса и проанализировать ее самостоятельно, если хотите.

0 голосов
/ 12 июня 2013

Используйте это:
Request.QueryString ["name"]. Replace ("", "+");
// Для получения дополнительной информации см. Ссылку ниже
http://runtingsproper.blogspot.in/2009/10/why-aspnet-accidentally-corrupts-your.html

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

Попробуйте webform1.aspx?name=abc%2Bxyz

...