【问题标题】:Url with = sign and get value from it带有 = 符号的网址并从中获取价值
【发布时间】:2018-07-03 10:57:24
【问题描述】:

我正在尝试从 URL 获取 multiple 值。但我不知道Url 是如何获得多个= 符号的。这就是为什么我无法使用querystring 获得它。所以我正在访问完整的 URL 并尝试从中获取值,但我无法从值中删除 % 符号。 这是我的代码。

string fullUrl = Request.Url.AbsoluteUri.ToString();
string str = fullUrl.Substring(fullUrl.LastIndexOf("Amount"));

这里 fullUrl 的值如下:-

完整网址 = "http://localhost:10372/Customer/Success.aspx?URL=Amount=10&Name=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"

str 变量的值如下

str = Amount=10&Name=Shami%20%20Sheikh&EmailOfPayer=ansitshami911@gmail.com&bussness=61339393592016_Preevet&CompanyName=Shami%20Sheikh&PaymentDate=07/03/2018%2015:50:48&SecuritiesandComplianceFee=0.47&BackmyUri=@98764

这是我从 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 获取实际值?

【问题讨论】:

  • 是的,使用 server.urldecode 可以正常工作。非常感谢你:)

标签: c# asp.net url


【解决方案1】:

您可以使用以下方法获取已处理的查询字符串值:

Request.QueryString["Name"]

【讨论】:

    【解决方案2】:

    通过使用以下代码,您将获得所有 queryString 参数,您可以从中找到您的元素 queryString 参数及其值。

    foreach (string key in Request.QueryString.AllKeys) {
        Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
    }
    

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 感谢您的宝贵时间。并且问题已经通过使用 Server.UrlDecode 解决了
      【解决方案4】:

      通过使用 server.UrlDecode 可以正常工作。

      string fullUrl = Server.UrlDecode(Request.Url.AbsoluteUri.ToString());

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-08
        相关资源
        最近更新 更多