2012-04-13 95 views
1

我只是難住,不知道發生了什麼事情。我也很難研究這個問題,因爲我不知道如何提出正確的問題。對於你們任何人來說,這應該是一個簡單的問題,但是你的回答會非常感謝!ASP.NET在查詢字符串之前添加/中的鏈接

我有以下元素一個asp.net頁面:

<a href="http://www.mysite.com?id=1">Link</a> 

大。

但是,當我將鼠標懸停在輸出頁面上的鏈接,有事與ASP和鏈接將瀏覽到這個網址:http://www.mysite.com/?id=1

它補充說,額外的「/」查詢之前的字符串。我怎樣才能解決這個問題?我不明白爲什麼會發生這種情況。這是一個web.config問題?即使我剛開始一個新項目,創建一個新頁面,並在那裏放置一個元素,它也會發生。

非常感謝!

而且它似乎發生在各種瀏覽器上。

+0

如果以編程方式添加參數,出於好奇,會發生什麼情況? – IrishChieftain 2012-04-13 22:44:39

回答

1

該斜槓是必要的,查詢字符串不能立即跟隨域。請參閱http://en.wikipedia.org/wiki/URL#Syntax

您的特定網址忽略了路徑,但不能省略域和路徑之間的斜線,除非域中沒有其他內容。

+0

非常感謝您的意見。我在提交問題後幾個小時就意識到了這個問題,並帶有一個大型的facepalm。希望如果有人遇到同樣的思路,他們會發現這個問題。您可以將其標記爲關閉。再次感謝您的幫助! – VeganBrandon 2012-04-14 02:58:29

1

我不確定你會甚至想要這樣做。

這可能是因爲這在技術上是形成URL的正確方式。 參見RFC-1738

的HTTP URL的形式:

http://<host>:<port>/<path>?<searchpart> 

其中<host><port>如在第3.1節中描述。如果:<port> 被省略,端口默認爲80.沒有用戶名或密碼
允許。 <path>是HTTP選擇器,而<searchpart>是查詢
字符串。這是可選的,正如在「?」之前的<searchpart>及其
一樣。如果既不存在<path>也不存在<searchpart>,則「/」 也可以被省略。

由於searchpart存在,所以需要斜線。它可能沒有它,但它應該可能在那裏。

相關問題