2010-09-13 23 views
3

我有一個網站,其中有一個項目的冗長列表顯示,所以我使用分頁,使服務器上的負載更容易。更改瀏覽器中的URL從c#codebehind(不seo路由或URL重寫)

但是,我正在通過Ajax進行分頁,因此當用戶單擊下一頁或上一頁鏈接按鈕時,數據中繼器將使用ajax進行刷新。

這是工作正常,直到人們開始點擊該項目,然後點擊返回,它將他們帶到第一頁。

假設您通過單擊「下一頁」按鈕掃描約10頁。數據發生變化,但瀏覽器中的URL不起作用。你認爲你找到了你想要的東西,所以你點擊它,瀏覽器加載不同的頁面,當你點擊後,瀏覽器會將你帶到上一頁,但由於url沒有變化,你回到第1頁。

目前,我已經刪除了Ajax,所以網址每次都會改變,但是當Ajax甚至發生時,我已經看到了幾個網站在瀏覽器中重新編寫url,我想知道我是否也可以做同樣的事情。

谷歌搜索URL重寫扒只有SEO路由的東西,沒有什麼我真的想(我相信我沒有使用正確的話)

我很想知道這個問題,任何蛛絲馬跡或在這一個領導? 謝謝!

ps:這裏有幾個問題很接近,但要麼太複雜,要麼太偏離。對不起,如果它是重複的。

回答

2

在js中,客戶端可以更改URL的唯一部分,而不會強制瀏覽器重新加載整個頁面,這是錨定部分(http://domain/page#anchor - #號後的部分)。這部分被許多js應用程序(例如Google Picassa)使用,也由silverlight提供瀏覽器歷史記錄支持。導航到另一個數據頁面時,您必須設置錨點部分。加載頁面時,只需檢查錨點部分並加載適當的頁面。另外,您必須定期檢查更改 - 當用戶在他/她的瀏覽器中使用後退/前進功能時會發生這種情況。 (可能會發生一個事件,當發生這種情況時,我只是沒有找到它)

+0

嗨,感謝您的答案,是否有任何特定的名稱,這是用於這種方法,我可以搜索谷歌?改變錨點部分對我來說很好,實際上,它也是我想要的。很多。 – iamserious 2010-09-13 14:21:04

+0

我發現了一篇關於如何使用jquery實現的文章:http://asciicasts.com/episodes/175-ajax-history-and-bookmarks希望能夠幫助您,或者至少爲您提供更多「關鍵字」以查找詳細信息 – maciejkow 2010-09-13 19:10:06

+0

哇!這正是我想要的!萬分感謝。我花了很多年試圖搜索這樣的文章,這是徒勞的! – iamserious 2010-09-14 09:36:36