【问题标题】:C# HttpRequest - Accessing hashtags in urlC# HttpRequest - 访问 url 中的主题标签
【发布时间】:2012-04-24 01:13:23
【问题描述】:

不幸的是,由于“hashtag”和“httprequest”这个词的广泛使用,我找不到任何搜索结果来回答我是否有可能这样做。

如果我有这样的网址:

/订单/产品#12345

HttpRequest 类向我展示了 FilePath、RawUrl 和所有其他将 url 显示为的成员

/订单/产品

它只是摆脱了主题标签,我找不到查看它的地方。

有什么方法可以让我从代码隐藏中查看 URL 末尾的主题标签吗?我知道我可以轻松地将其设为 QueryString 参数,但我喜欢这种方式看起来更好,所以如果有办法做到这一点,我想知道它是什么 :)

提前致谢!

【问题讨论】:

  • 其他人已经很好地回答了这个问题。我认为知道 # 标记之后(包括)之后的 URL 部分称为片段可能会有所帮助。

标签: c# asp.net-mvc-3 httprequest code-behind hashtag


【解决方案1】:

它只是摆脱了主题标签,我找不到查看它的地方。

那是因为它没有被发送到服务器。它不是请求的一部分 - 它在客户端相关。如果你需要用它做一些聪明的事情,你需要编写一些 Javascript 来访问它。

【讨论】:

  • 这就是我需要知道的!猜猜我会选择"/Orders/Product/12345",因为我的 MVC 路由允许它转到同一页面,同时保持结尾:) 感谢您的快速回复!
【解决方案2】:

在导航到同一页面上的书签的情况下,浏览器不需要执行 GET 请求(#12345 是什么)。因此,您可以重新考虑将其用于正常请求。

【讨论】:

    【解决方案3】:

    正如其他人所说,此值不会发送到服务器。虽然可以使用 JavaScript 将值发送到服务器,但在这种情况下,您应该将其设为查询字符串参数。

    【讨论】:

    • 我试图避免使用 QueryString,因为我不想决定参数的变量名称:P 改用 /Orders/Product/12345,谢谢您的回答!
    【解决方案4】:

    如果你在视图中使用它:

    <a href="@Url.Action("JavascriptPlugins", "Docs")#typeahead">Typeahead</a>
    

    【讨论】:

      猜你喜欢
      • 2015-05-30
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多