请帮我从网址获取查询字符串值。
http://test.com/test.aspx#id=test
我尝试使用
进行访问Request.QueryString["id"]
它获取空值。请建议如何从URL访问id。
由于
答案 0 :(得分:11)
我同意所有人#
应该是?
,但仅限于FYI:
请注意,实际上无法通过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 "#"
答案 1 :(得分:8)
查询字符串以问号?
开头,而不是哈希#
。
尝试:
http://test.com/test.aspx?id=test
使用哈希,你要求跳转到文档中的命名锚点,而不是提供查询字符串
答案 2 :(得分:6)
您的网址无效。
http://test.com/test.aspx#id=test
指的是名为id=test
的书签。
你应该使用
http://test.com/test.aspx?id=test
然后Request.QueryString["id"]
将起作用。
答案 3 :(得分:4)
如果您想将其用作哈希标记,可以使用:
string value = Request.Url.ToString().Split('#')[1];
使用此代码,您将获得哈希标记值。
答案 4 :(得分:2)
不应该是吗?
http://test.com/test.aspx?id=test