[英]Using asp.net C# and jquery to filter a collection of data
我正在開發一個網頁,用戶可以在其中過濾數據,然后將選擇內容導出為pdf或excel。 該網站正在使用ASP .NET C#。
為了篩選數據,我創建了一個網頁,該網頁包含一個帶有框和下拉菜單的左列,使用戶能夠輸入搜索條件,然后單擊搜索按鈕。 這是許多網站包含的典型搜索/過濾器功能。 過濾數據后,將使用asp列表視圖顯示選擇。 此列表視圖生成一個表。 我已經實現了Dragtable ,使用戶可以更改此表中列的順序,還可以實現columnManager,使用戶可以選擇要顯示的列。
所以我的問題是,使用asp .net C#在后台解析了過濾器/搜索功能,而使用jQuery在客戶端進行了列的選擇和重新排列。 現在,當用戶單擊“導出”按鈕時,除了由jQuery完成的篩選器之外,我還希望收集由asp控件完成的篩選器,並創建文件。 該文件應僅包含使用columnManager選擇的列,並以使用dragtable進行更改后的順序相同。
同時使用服務器端過濾器和客戶端過濾器的最佳實踐是什么? 我還考慮過刪除所有服務器端過濾,而僅使用ajax.post()將所有JSON格式的過濾器發送到服務器。 我還希望使用戶能夠再次保存其當前過濾器。
更新資料
我決定刪除服務器端,並使用ajax(更精確地說是getJSON)來獲取搜索結果。 這樣,我就不會松散使用jQuery / js完成的列的排序和排序,而我會回發一次(當然可以使用Cookies的東西)。 我還將所有邏輯都放在一個地方,並且JSON對象可以很容易地在服務器端進行包裝/展開。 不過,謝謝您的回答!
客戶端和服務器端在同一位置工作並不壞。 世界上所有運行良好的應用程序都將這些組合在一起。
但是,我們需要了解這種方法。
如果您不希望有任何回發,我建議您使用Jquery。
如果您可以往返,請繼續使用Server Side和Ajax。
您的方法還有另一個問題:如果用戶先訂購列而不是對其進行過濾,會發生什么? 列的順序被重置。
但是,通過可拖動的jQuery ui,您可以觸發ajax調用,以將有關更改通知服務器端代碼。 您可以將函數綁定到停止事件: http : //api.jqueryui.com/draggable/#event-stop
因此,我將執行以下操作:
服務器端代碼始終是最新的,並根據需要呈現正確的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.