如何从查询字符串中获取#value?

Pra*_*uja 7 .net c# asp.net

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

http://test.com/test.aspx#id=test
Run Code Online (Sandbox Code Playgroud)

我试图访问

Request.QueryString["id"]
Run Code Online (Sandbox Code Playgroud)

它获得null值.请建议如何从url访问id.

谢谢

ins*_*ite 11

我同意所有人的意见,#应该是?,但仅限于FYI:

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

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

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

http://test.com/test.aspx

然后在页面中查找

<a id="test">Your anchor</a>
Run Code Online (Sandbox Code Playgroud)

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

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

更多信息在这里c#获取带有"#"的完整URL


Grh*_*rhm 8

查询字符串以问号?而非哈希开头#.

尝试:

http://test.com/test.aspx?id=test 
Run Code Online (Sandbox Code Playgroud)

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


Hen*_*man 6

您的网址无效.

 http://test.com/test.aspx#id=test
Run Code Online (Sandbox Code Playgroud)

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

你应该用

http://test.com/test.aspx?id=test
Run Code Online (Sandbox Code Playgroud)

然后Request.QueryString["id"]会工作.