2011-01-11 120 views
1

我想創建一個像gmail一樣的網格,用戶可以通過jQuery和ajax通過動作(例如,在gmail中分配標籤)刪除或更新。ASP.NET MVC jQuery Ajax

我已經實現了ajax調用,因此它將數據設置爲數據庫中的正確值,但更新網格/行時無需刷新頁面的最佳做法是什麼?

回答

0

最簡單的選擇是將網格放入局部視圖中,然後每隔30秒發送一次AJAX請求(或多次),將局部視圖的HTML轉儲到DOM中。

將更改列表下載爲JSON,然後使用Javascript更新DOM會更有效。
要下載更改列表,您需要跟蹤服務器上的當前狀態。
根據您的數據,這可能不實際。

0

有幾種方法可以做到這一點,我個人喜歡MVVM pattern這樣的事情。有一個偉大的庫叫knockoutjs,它允許綁定到一個javascript對象模型。下面是一個editable grid的例子,以幫助您入門。在我看來,這是與網絡合作的最靈活的方式,因爲它可以分散您的顧慮。只有在ASP.NET MVC負責處理業務邏輯併發送ViewModel時,此時HTML/Javascript纔會成爲用戶界面的重要組成部分。您還可以使用jQuery插件解決方案(如jqGrid),您仍然需要編寫所有CRUD函數以實際管理數據,但網格會自動允許排序(使用某些配置)和其他選項。這也將處理你的CSS格式,因爲它使用jQuery UI進行樣式設計。