在尝试获取c#页面的整个网址时遇到了一个小问题(?)。
网址包含“#” - 链接引用字符。当我抓住网址
时,我希望这样EG。 http://localhost/site/page.aspx?var=1&var=2#link
我尝试了Request.URL,Request.Querystring等,它只返回“#” - char。
有没有办法抓住最后一部分?
提前致谢
答案 0 :(得分:8)
仅使用服务器代码是不可能的。 #之后的部分根本没有在请求中发送,它永远不会离开浏览器。
如果你想要#之后的部分,你必须在将请求发送到服务器之前使用Javascript复制它,并将值放在查询字符串中。
答案 1 :(得分:6)
您的问题是#在页面中指定了一个锚点,因此浏览器会看到:
然后在页面中查找
<a name="link">anchor</a>
由于这是客户端,您需要从URL中转义# - 您无法在服务器上获取它,因为浏览器已将其剥离。
答案 2 :(得分:0)
你确定#之后的内容没有发送到服务器。我很确定几年前我用ajax-app进行了一次测试,其中的url可以被复制并发送给没有javascript的人,只需在浏览了javascript后在网址中修改#之后的内容。
那是在PHP中,浏览器可能是IE6。