C# Url with=签名并从中获取值
我正在尝试从URL获取C# Url with=签名并从中获取值,c#,asp.net,url,C#,Asp.net,Url,我正在尝试从URL获取多个值。但是我不知道Url是如何得到多个=符号的。这就是为什么我无法使用querystring获取它。因此,我正在访问完整URL并尝试从中获取值,但无法从值中删除%sign。 这是我的密码 string fullUrl = Request.Url.AbsoluteUri.ToString(); string str = fullUrl.Substring(fullUrl.LastIndexOf("Amount")); 此处fullUrl的值如下:- string s =
多个值。但是我不知道Url
是如何得到多个=
符号的。这就是为什么我无法使用querystring
获取它。因此,我正在访问完整URL并尝试从中获取值,但无法从值中删除%sign。
这是我的密码
string fullUrl = Request.Url.AbsoluteUri.ToString();
string str = fullUrl.Substring(fullUrl.LastIndexOf("Amount"));
此处fullUrl的值如下:-
string s = str;
String[] arr = s.Split('&');
var Namearr = from word in arr
where word.StartsWith("Name")
select word;
foreach (var item1 in Namearr)
{
string str1 = item1.ToString();
string[] strArr = str1.Split('=');
string Name = strArr[1];
}
完整URL=
“”
str变量的值如下所示
str=
金额=10&Name=Shami%20%20Sheikh&EmailOfPayer=ansitshami911@gmail.com&bussness=61339393592016_Preevet&CompanyName=Shami%20Sheikh&付款日期=2018年3月7日%2015:50:48&证券与合规性EE=0.47&BackmyUri=
这是我的代码,可以从URL
获取值:-
string s = str;
String[] arr = s.Split('&');
var Namearr = from word in arr
where word.StartsWith("Name")
select word;
foreach (var item1 in Namearr)
{
string str1 = item1.ToString();
string[] strArr = str1.Split('=');
string Name = strArr[1];
}
但变量中指定的值是Name
=“Shami%20%20Sheikh”
现在,当我试图获取Name
的值时,它返回带有%
符号的值
如何从URl
获取实际值 我想您正在寻找System.Uri.UnescapeDataString(名称)
您可以使用以下方法获取已处理的查询字符串值:
Request.QueryString["Name"]
通过使用以下代码,您将获得所有queryString参数,从中可以找到元素queryString参数及其值
foreach (string key in Request.QueryString.AllKeys) {
Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
}
通过使用server.UrlDecode,它可以正常工作
字符串fullUrl=Server.UrlDecode(Request.Url.AbsoluteUri.ToString())
谢谢你抽出时间。使用Server.urldecode解决了这个问题。是的,使用Server.urldecode可以很好地工作。非常感谢:)