我很难过,不知道发生了什么事。我也很难研究这个问题,因为我不知道如何提出正确的问题。对于你们任何一个人来说,这应该是一个简单的问题,但你的回答会非常受欢迎!
我有一个包含以下元素的asp.net页面:
<a href="http://www.mysite.com?id=1">Link</a>
大。
但是当我将鼠标悬停在输出页面上的链接上时,ASP会发生一些事情,该链接将导航到此网址:http://www.mysite.com/?id=1
它在查询字符串之前添加额外的“/”。我怎么能绕过这个?我不明白为什么会发生这种情况。这是web.config问题吗?即使我刚开始一个新项目,创建一个新页面,并将那个元素放在那里,它也会发生。
非常感谢!
它似乎发生在各种浏览器上。
答案 0 :(得分:1)
我不确定你是否愿意这样做。
这可能正在发生,因为从技术上讲,这是形成网址的正确方法。 见RFC-1738
HTTP URL采用以下形式:
http://<host>:<port>/<path>?<searchpart>
其中
<host>
和<port>
如3.1节所述。如果:<port>
省略,端口默认为80.没有用户名或密码为
允许。<path>
是HTTP选择器,<searchpart>
是查询
串。这是<searchpart>
及其中的可选项 在“?”之前。如果<path>
和<searchpart>
都不存在,则“/” 也可以省略。
由于存在searchpart,因此需要斜杠。没有它可能会有效,但无论如何它应该可以存在。
答案 1 :(得分:1)
该斜杠是必要的,查询字符串不能立即跟随域。见http://en.wikipedia.org/wiki/URL#Syntax
您的特定网址是省略路径,但您不能省略域和路径之间的斜杠,除非域后面没有其他内容。