2010-09-13 12 views

回答

5

您所指的散列實際上並未被瀏覽器發送到服務器。它只是客戶端,C#不能「看見」它。

如果您必須具有該值,可以使用Javascript中的document.location.hash屬性獲取該值,然後通過AJAX將其發送回服務器。

這可以通過jQuery BBQjQuery Address更容易,它檢測散列位置的變化,並可以觸發事件。

+0

非常感謝。欣賞它。 – 2010-09-13 06:47:17

2

跟在#後面的url部分被稱爲「片段標識符」,並且無法在服務器上訪問此信息。實際上,它甚至從未被髮送到服務器 - 該規範保留了片段標識符,用於標識位於URL剩餘部分的文檔的片段。該規範實際上要求瀏覽器在發送HTTP請求中的URL之前從URL中去除片段ID。

您可以通過javascript在瀏覽器中訪問片段ID。該物業被稱爲document.location.hash

1

在客戶端使用jQuery閱讀並手動傳輸到服務器。

例子:

var url = "www.abc.com/mypage#yourId=ASDF2345"; 
var hash = url.substring(url.indexOf('#')); // '#yourId=ASDF2345' 

Check

請記住,當他/她想要的用戶可以更改的哈希值。在使用之前檢查散列。

相關問題