2012-10-05 7 views
1

В моем коде C# я кодирую свой Url, который имеет несколько строк запроса. Когда в конце приемника я пытаюсь прочитать строки запроса, я получаю нулевые значения (параметр строки запроса не найден), причина в изменении кодировки & querystringparameter до & querystringparam. Как обойти это.Url Encoding with Multiple Query String Parameters

Response.Redirect(HttpUtility.HtmlEncode("Add.aspx?ID=" + 1 + "&cid="+ 8 + "&jid=" +9)); 

На странице add.aspx я получить URL, как "add.aspx? ID = 1 & с.и.д. = 3 & JID = 9"

+4

Можете ли вы дать явный пример вашего URL до и после кодирования и как вы кодируете - вы, кажется, объясняете, что кодирование отключает имена параметров строки запроса, но трудно сказать, почему с предоставленной информацией. –

+0

Как вы кодируете/декодируете строку запроса? –

+0

Можете ли вы разместить пример с кодом, что вы делаете? – VRC

ответ

2

Самой большой проблемой является то, что вы кодирующая весь Строка запроса. Вам необходимо закодировать отдельные компоненты, а затем объединить их вместе.

3

Использование HttpUtility.UrlEncode, я уверен, он будет работать как шарм. Прочтите статью this за дополнительной информацией.

+0

Вы имеете в виду, где я читаю строку запроса или вместо HttpUtility.HtmlEncode? –

+0

Я отредактировал свой ответ, проверьте ссылку, это должно быть полезно. –