0

我正在尝试从 C# 中的编码 URL 获取值。例如,我试图从以下位置获取“customerID”:

  http://<DOMAIN>/default.aspx%3FcustomerID%3D12345%26reference%3D2222

我尝试了以下方法:

  string customerID = HttpUtility.UrlDecode(Request.QueryString["customerID"]);

但它返回NULL。获得此值的正确方法是什么?

谢谢杰

4

2 回答 2

1
string str = " http://DOMAIN/default.aspx%3FcustomerID%3D12345%26reference%3D2222";

var url = HttpUtility.UrlDecode(str);
var parameters = HttpUtility.ParseQueryString(new Uri(url).Query);
var id = parameters["customerID"];
于 2012-08-23T21:51:30.333 回答
0

你的应用程序应该编码?和 = 符号。请求变量通常在信息被传递给处理请求的应用程序之前由 iis 设置。您需要发送应该编码的值,而不是整个 url。如果您的网址看起来像 ?customerID=1234 我想它会起作用,那么问题不在于您的代码,而在于网址的构造方式。

于 2012-08-23T21:47:43.577 回答