2012-04-11 76 views
4

不幸的是,由於「hashtag」和「httprequest」這個詞的廣泛使用,我找不到任何搜索結果,這些結果給了我一個關於這樣的事情是否可能的答案。C#HttpRequest - 訪問url中的#標籤

如果我有這樣的一個網址:

/訂單/產品#12345

的HttpRequest類顯示我的文件路徑,RawUrl,和所有其他成員,顯示的網址爲

/訂單/產品

它只是擺脫了標籤,我找不到地方查看它。

有沒有什麼方法可以讓我能夠看到代碼隱藏的網址末尾有哪些hashtag?我知道我可以很容易地使這個QueryString參數,但我喜歡這種方式看起來更好,所以如果有辦法做到這一點,我想知道它是什麼:)

在此先感謝!

+2

其他人已經回答了這個問題很好。我認爲知道URL(包括)#標記後面的部分稱爲片段可能會有幫助。 – 2012-04-11 17:36:48

回答

11

它只是擺脫哈希標籤,我找不到地方來查看它。

這是因爲它沒有發送到服務器。這不是請求的一部分 - 它只在與客戶端相關的。如果你需要做些聰明的事情,你需要編寫一些Javascript來訪問它。

+0

這就是我需要知道的!我猜我會用'「/ Orders/Product/12345」''去,因爲我的MVC路由允許它進入同一頁面,同時保持最後的完成:) 感謝您的快速響應! – CloudyOne 2012-04-11 17:33:23

0

如果瀏覽到同一頁面上的書籤(什麼是#12345),則不需要瀏覽器執行GET請求。因此,您可能會重新考慮將其用於正常請求。

0

正如其他人所說,這個值不會發送到服務器。雖然可以使用JavaScript將值發送到服務器,但在這種情況下,您應該將其設置爲查詢字符串參數。

+0

我試圖避免從我的小偏好中去掉QueryString而不想爲參數決定一個變量名:P 改爲使用'/ Orders/Product/12345',感謝您的回答! – CloudyOne 2012-04-11 17:37:51

0

如果您使用的是它在一個視圖:

<a href="@Url.Action("JavascriptPlugins", "Docs")#typeahead">Typeahead</a>