I have a url with querystrings through which some data are passed. I want to retrieve the data in the server side. What is the solution for this problem
问题:
回答1:
You can use javascript's escape function to encode the URL.
Example :
escape("It's me!") // result: It%27s%20me%21
URL Decoding in C# using Uri.UnescapeDataString() function.
Example :
s = "%46%69%67%68%74%20%74%68%65%20%70%6F%77";
Uri.UnescapeDataString(s);
EDIT -------------------------
To Parse Query parameters in C# use
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
Hope this will help.
Thanks!
Hussain
回答2:
You can use escape ( http://www.w3schools.com/jsref/jsref_escape.asp ) or encodeURI ( http://www.w3schools.com/jsref/jsref_encodeuri.asp ) to encode on Javascript side.
On server side: For C# - Use System.Web.HttpUtility.UrlDecode to decode ( http://msdn.microsoft.com/en-us/library/adwtk1fy.aspx ) For Java - Use URLDecoder to decode ( http://download.oracle.com/javase/1.5.0/docs/api/java/net/URLDecoder.html ) For PHP - Use urldecode ( http://php.net/manual/en/function.urldecode.php )
回答3:
- Javascript unescape(_stringEncoded) same as HttpUtility.UrlDecode(_string) in C#
- Javascript escape(_setringDecoded) same as HttpUtility.UrlEncode(_string) in C#
Encode/Decode both
javascript Encode
escape('raj kumar') //raj%20kumar
C# Decode
HttpUtility.UrlDecode("raj%20kumar") //raj kumar