C# 从编码的Url获取值

C# 从编码的Url获取值,c#,asp.net,.net,winforms,C#,Asp.net,.net,Winforms,我试图从C#中的编码URL中获取一个值。例如,我试图从以下位置获取“customerID”: 但它返回空值。获取该值的正确方法是什么 谢谢 Jay您的应用程序应该对?和=符号。请求变量通常在信息传递给处理请求的应用程序之前由iis设置。您需要发送的应该是编码值,而不是整个url。如果您的url看起来像, ?customerID=1234我想它会起作用,问题不在于你的代码,而在于url的构造方式。首先解码url,它不会找到查询字符串“customerID”。OP正在尝试从已编码的url中提取值-不

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

但它返回空值。获取该值的正确方法是什么

谢谢
Jay

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

首先解码url,它不会找到查询字符串“customerID”。OP正在尝试从已编码的url中提取值-不确定你的答案是他们想要的…谢谢,但是我的URL已经被编码,并且正在寻找解析值。它必须被编码,所以不能切换到未编码。这非常有效!正在尝试思考执行此操作的方法,但不知道ParseQueryString的功能。谢谢
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"];
  string customerID = HttpUtility.UrlDecode(Request.QueryString["customerID"]);
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"];