我正在尝试从URL获取multiple
的值。但我不知道Url
如何获得多个=
符号。这就是为什么我无法使用querystring
获得它的原因。因此,我正在访问完整的URL并尝试从中获取值,但是我无法从值中删除%符号。
这是我的代码。
string fullUrl = Request.Url.AbsoluteUri.ToString();
string str = fullUrl.Substring(fullUrl.LastIndexOf("Amount"));
此处fullUrl的值如下:-
str变量的值如下
str = 金额= 10&名称=Shami%20%20Sheikh&EmailOfPayer=ansitshami911@gmail.com&bussness=61339393592016_Preevet&CompanyName=Shami%20Sheikh&PaymentDate=07/03/2018%2015:50:48&SecuritiesandComplianceFee = 0.47&BackmyUri = http://localhost:11181/Payment.aspx&phone=1234567891&Cardnumber=973638353835&Country=198&St=354&Other=&city=Delhi&Address=Delhi&ZipCode=201301&EmailOfReceiver=ansitshami911@gmail.com&Planrateforaccount=40&Planrateforcard=60&Planrateforcheck=2018&PlanYear=2018
这是我的代码,用于从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
中获取实际值?
答案 0 :(得分:4)
您可以获得使用以下方法处理过的查询字符串值:
Request.QueryString["Name"]
答案 1 :(得分:0)
我认为您正在寻找System.Uri.UnescapeDataString(Name)
https://msdn.microsoft.com/en-us/library/system.uri.unescapedatastring(v=vs.110).aspx
答案 2 :(得分:0)
通过使用以下代码,您将从所有可以找到的queryString参数,可以从其中找到元素queryString参数及其值。
foreach (string key in Request.QueryString.AllKeys) {
Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
}
答案 3 :(得分:-2)
使用server.UrlDecode可以正常工作。
string fullUrl = Server.UrlDecode(Request.Url.AbsoluteUri.ToString());