2010-02-16 22 views
2

這是ASP MVC中的一個常見問題。我有一個簡單的搜索表單,有四個字段和一個搜索按鈕。搜索按鈕使用jquery來填充結果的html表格。ASP MVC Restful url和Ajax調用

的問題是,我們也在努力保持狀態,爲用戶去到不同的網頁,然後打回,我們要填充搜索文本搜索字段和重新填充的效果。

由於填充調用是Ajax,所以URL不會被重寫爲正確的狀態。

有沒有一個ASP MVC的首選方法呢?或者我們堅持做後貼?

回答

2

您可以隨時根據您正在進行的AJAX搜索更新您的網址。

然後在jQuery的ready事件中,如果存在,使用存儲在URL中的參數進行搜索; !)

所以一旦用戶沿着或重新加載書籤搜索動作,taraaaaa ...搜索仍然是:d

UPDATE:我的團隊說,使用你的URL的哈希標記將是一個乾淨的方法: P

here >>detecting-back-button-hash-change-in-url < <你會發現尊重和一些技術方面的信息; )

1

一般來說,對於這種操作,回發(實際上不是這樣,你只是導航回到同一頁面,並且我假設這些項目是GET操作的一部分,所以在那裏沒有「後)是您想要的東西。

這樣做的原因是因爲你的URL結構變得馬虎。如果我想書籤搜索結果,我將如何去這樣做?我可以因爲你決定通過AJAX下載大量的內容

作爲一般的經驗法則,如果你要下載大量的內容到你的瀏覽器,你應該ge通常都有一個URL,因爲它本身就是一個資源。

至於維護狀態,如果你想在不重寫URL的情況下(換句話說,當他們去「/ search」,你想要以前的結果),你可以將表單域存儲在一個cookie中,從cookie或URL中的值填充它,或使用某種數據庫來存儲首選項。

基本上,每次有人向該頁面提交值時,都會將它們寫入數據存儲區(cookie,文件,數據庫等)。否則,如果在該頁面上,則使用您用來識別當前用戶的任何內容從商店中檢索它們。