【问题标题】:How to get my params value with a & in the URL?如何在 URL 中使用 & 获取我的参数值?
【发布时间】:2015-07-16 17:30:48
【问题描述】:
www.myurl.com?param1=123&param2=456 OK
www.myurl.com?param1=123&param2=456 NOT OK

在我后面的 vb 代码中,使用第二个 URL,我只获得了 param1 的值。

Me.Page.Request("param1") : value OK
Me.Page.Request("param2") : value 0

【问题讨论】:

  • 请您解释一下为什么需要使用 &在查询字符串中?
  • 在第二个 URL 中,第二个键是amp;param2。不要在你的 URL 中使用 HTML 实体;后者使用百分比编码。
  • 我用 & 将 URL 发送给客户,但他们中的一些人得到 &反而。而且我不知道该怎么做,因为它在客户端。

标签: asp.net vb.net parameters code-behind asp.net-webpages


【解决方案1】:

首先,我建议重新考虑如何构建您的 URL,以消除对 &amp 的需求;这对你来说会容易得多。

如果由于某种原因无法做到这一点,您需要自己从查询字符串中提取参数值。

一种可能的解决方案:

    Dim url As String = Request.RawUrl
    Dim urlParams As String() = url.Split("?"C)

    If urlParams.Length > 1 Then
       Dim parameters As String() = urlParams(1).Split(New String() {"&"}, StringSplitOptions.None)

       For Each param As var In parameters
          ' will give you the paramater value
          Dim value As String = param.Split("="C)(1)
       Next
    End If

【讨论】:

  • 来自&&不包含在密钥中;它被视为分隔符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 2020-08-24
  • 2011-05-20
相关资源
最近更新 更多