我正在尝试从 C# 中的编码 URL 获取值。例如,我试图从以下位置获取“customerID”:
http://<DOMAIN>/default.aspx%3FcustomerID%3D12345%26reference%3D2222
我尝试了以下方法:
string customerID = HttpUtility.UrlDecode(Request.QueryString["customerID"]);
但它返回NULL。获得此值的正确方法是什么?
谢谢杰
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"];
你的应用程序应该编码?和 = 符号。请求变量通常在信息被传递给处理请求的应用程序之前由 iis 设置。您需要发送应该编码的值,而不是整个 url。如果您的网址看起来像 ?customerID=1234 我想它会起作用,那么问题不在于您的代码,而在于网址的构造方式。