9

我有一个带有查询字符串的 url,通过它传递一些数据。我想在服务器端检索数据。这个问题的解决方案是什么

4

3 回答 3

11

您可以使用 javascript 的转义函数对 URL 进行编码。

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

使用 Uri.UnescapeDataString() 函数在 C# 中进行 URL 解码。

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

编辑 - - - - - - - - - - - - -

要在 C# 中解析查询参数,请使用

NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

希望这会有所帮助。

谢谢!

侯赛因

于 2011-01-06T09:32:25.277 回答
4

您可以使用转义 ( 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 )

于 2011-01-06T09:33:28.707 回答
2
  • Javascript unescape(_stringEncoded)与C# 中的HttpUtility.UrlDecode( _string)相同
  • Javascript转义(_setringDecoded)与C# 中的HttpUtility.UrlEncode( _string)相同

编码/解码两者

javascript 编码

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

C# 解码

HttpUtility.UrlDecode("raj%20kumar") //raj kumar
于 2016-03-03T09:11:49.387 回答