【问题标题】:How to get # value from query string?如何从查询字符串中获取#值?
【发布时间】:2012-01-06 12:30:49
【问题描述】:

请帮我从 URL 中获取查询字符串值。

http://test.com/test.aspx#id=test

我尝试使用

访问
Request.QueryString["id"]

它正在获取空值。请建议如何从 url 访问 id。

谢谢

【问题讨论】:

    标签: c# asp.net .net


    【解决方案1】:

    我同意大家的观点,# 应该是 ?,但仅供参考:

    请注意,实际上不可能从 URL 中获取锚点,例如:

    http://test.com/test.aspx#id=test

    问题是#在页面中指定了一个锚点,所以浏览器看到:

    http://test.com/test.aspx

    然后在页面中查找

    <a id="test">Your anchor</a>
    

    由于这是客户端,您需要从 URL 中转义 # - 您无法在服务器上获取它,因为浏览器已经将其剥离。

    如果你想要 # 之后的部分,你必须在请求发送到服务器之前使用 Javascript 复制它,并将值放在查询字符串中。

    更多信息在这里c# get complete URL with "#"

    【讨论】:

      【解决方案2】:

      查询字符串以问号? 而不是哈希# 开头。

      试试:

      http://test.com/test.aspx?id=test 
      

      使用哈希,您要求跳转到文档中的命名锚点,而不是提供查询字符串

      【讨论】:

        【解决方案3】:

        您的网址无效。

         http://test.com/test.aspx#id=test
        

        指的是一个名为id=test书签

        你应该使用

        http://test.com/test.aspx?id=test
        

        然后Request.QueryString["id"] 将起作用。

        【讨论】:

        • 它的 api 调用,所以我什么都做不了。
        • 我看到你已经走了很长一段路@HenkHolterman。拥有 193K 的声誉和前 0.05% 或 SO,您现在可能知道什么是 API 调用了,哈哈。
        【解决方案4】:

        如果您想将其用作哈希标签,您可以使用:

        string value = Request.Url.ToString().Split('#')[1];
        

        使用此代码,您将获得哈希标签值。

        【讨论】:

          【解决方案5】:

          不应该吗?

          http://test.com/test.aspx?id=test 
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-05-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-12-13
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多