2012-04-01 52 views
1

我有一個ASP.NET Web窗體網站。它在主頁面內部有一個頁面。這個頁面上有很多項目可以做回傳,但有一個不同的GET參數。例如,我在http://mysite/mypage?p=1上,然後點擊某個項目並轉至http://mysite/mypage?p=2,依此類推。顯然,母版頁沒有變化,唯一改變的是URL和頁面內容,所以實際上不需要做完整的回傳。所以我想重寫頁面來完成部分AJAX風格的回傳,並更改URL(我希望用戶能夠製作書籤並執行適當的瀏覽器歷史導航)。但我該怎麼做?在ASP.NET Web窗體中使用AJAX,但保留網址

我可以使用UpdatePanel作爲例子,並且我可以使所有項目成爲某種按鈕,這些按鈕可以執行回傳操作,而不是作爲頁面導航的超鏈接。但是,我的網址將保持不變,這是不好的。

我更喜歡使用UpdatePanel控件或jQuery庫的答案,但使用其他技術的答案也很好,因爲它們可能會給我一個解決我的問題的提示。

回答

1

實現此目的的唯一方法是在URL中使用「#」時動態加載內容。例如,http://mysite/mypage#1,http://mysite/mypage#2。這使得能夠按需更改URL,而無需在執行AJAX類型功能時重新定向。網址也可以添加書籤。

當然,您需要編寫一些Javascript語言來解析出#或某種類型的事件偵聽器時發生部分回發以傳遞不同參數時的字符。

我已經實現了這幾次,這是我知道的唯一解決你遇到的問題。 Twitter當時有點靈感。

+0

感謝您的回答,我會盡力。如果明天我不能得到更好的答案,那麼我會接受這個帖子作爲答案。 – 2012-04-01 22:38:29