2012-01-06 58 views

回答

10

我跟大家同意#应该是一个?,只是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 "#"

2

是不是应该是?

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

您的网址无效。

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

书签命名为id=test

您应该使用

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

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

+0

它的API调用,所以我什么都做不了。 – PrateekSaluja 2012-01-06 13:10:01

+0

什么是API调用? – 2012-01-06 13:34:33

+0

我看你走过了漫长的路程@HenkHolterman。拥有193K的声望和0.05%的最高分,或者你可能现在知道一个API调用是哈哈。 – quemeful 2017-08-24 14:41:08

8

查询字符串以问号?开头,不是散列#

尝试:

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

使用散列函数,你问到文档中跳转到一个命名锚,不提供查询字符串

4

更多信息如果你想使用它作为哈希标签可以使用:

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

与此代码,你有你自己的哈希标签值。

+0

谢谢我已经修好了。 – PrateekSaluja 2013-04-03 20:48:28