Как кодировать URL в JavaScript и декодировать его в C # - PullRequest
9 голосов
/ 06 января 2011

У меня есть URL со строками запроса, через которые передаются некоторые данные.Я хочу получить данные на стороне сервера.Каково решение этой проблемы

Ответы [ 3 ]

11 голосов
/ 06 января 2011

Вы можете использовать функцию escape javascript для кодирования URL.

Example : 
escape("It's me!") // result: It%27s%20me%21

Декодирование URL в C # с использованием функции Uri.UnescapeDataString ().

Example : 
s = "%46%69%67%68%74%20%74%68%65%20%70%6F%77";
Uri.UnescapeDataString(s); 

EDIT -------------------------

Для анализа параметров запроса в C # используйте

NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

Надеюсь, это поможет.

Спасибо!

Хуссейн

3 голосов
/ 06 января 2011

Вы можете использовать escape (http://www.w3schools.com/jsref/jsref_escape.asp) или encodeURI (http://www.w3schools.com/jsref/jsref_encodeuri.asp) для кодирования на стороне Javascript.

На стороне сервера: Для C # - используйте System.Web.HttpUtility.UrlDecode для декодирования (http://msdn.microsoft.com/en-us/library/adwtk1fy.aspx) Для Java - используйте URLDecoder для декодирования (http://download.oracle.com/javase/1.5.0/docs/api/java/net/URLDecoder.html) Для PHP - используйте urldecode (http://php.net/manual/en/function.urldecode.php)

2 голосов
/ 03 марта 2016
  • Javascript unescape (_stringEncoded) аналогично HttpUtility.UrlDecode (_string) в C #
  • Javascript escape (_setringDecoded) такой же как HttpUtility.UrlEncode (_string) в C #

Кодировать / декодировать оба

javascript Encode

escape('raj kumar') //raj%20kumar

C # Decode

HttpUtility.UrlDecode("raj%20kumar") //raj kumar
...