【发布时间】:2012-01-06 12:30:49
【问题描述】:
请帮我从 URL 中获取查询字符串值。
http://test.com/test.aspx#id=test
我尝试使用
访问Request.QueryString["id"]
它正在获取空值。请建议如何从 url 访问 id。
谢谢
【问题讨论】:
请帮我从 URL 中获取查询字符串值。
http://test.com/test.aspx#id=test
我尝试使用
访问Request.QueryString["id"]
它正在获取空值。请建议如何从 url 访问 id。
谢谢
【问题讨论】:
我同意大家的观点,# 应该是 ?,但仅供参考:
请注意,实际上不可能从 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 "#"
【讨论】:
查询字符串以问号? 而不是哈希# 开头。
试试:
http://test.com/test.aspx?id=test
使用哈希,您要求跳转到文档中的命名锚点,而不是提供查询字符串
【讨论】:
您的网址无效。
http://test.com/test.aspx#id=test
指的是一个名为id=test的书签。
你应该使用
http://test.com/test.aspx?id=test
然后Request.QueryString["id"] 将起作用。
【讨论】:
如果您想将其用作哈希标签,您可以使用:
string value = Request.Url.ToString().Split('#')[1];
使用此代码,您将获得哈希标签值。
【讨论】:
不应该吗?
http://test.com/test.aspx?id=test
【讨论】: