2016-07-06 51 views
1

我有一個用ASP.net編寫的網頁,它找到了一個員工列表,並將它們顯示在一個列表視圖中,並允許用戶更改每個員工的不同狀態。一次在SPA頁面提交多個更新頁面

在每一行上,我都有員工信息,如姓名,出生日期,地址,然後顯示4個狀態字段,顯示爲複選框和註釋字段,用戶可以在其中鍵入註釋,解釋爲什麼他們改變了某個狀態。

目前在Listview中,有一個編輯,刪除按鈕,當他們點擊編輯時,顯示覆選框和文本字段,用戶更新它們並點擊保存。

asp.net將執行回發來保存此行的更改,然後再次獲取數據以刷新列表。

我遇到的問題是列表非常大(超過3000個名稱),所以我使用分頁在每個頁面上顯示50到100個名稱。這仍然是一個很大的性能問題,因爲每更新一行查詢都需要運行以再次獲取這些名稱,並且使用ASP.NET服務器生成html並將所有內容傳遞給瀏覽器。

客戶希望頁面也是移動友好的,所以我想在前端使用Angular重做頁面,並在返回JSON的後端使用web-api或mvc.net。

我的問題是有一個簡單的方法來做到這一點,並允許用戶一次更改同一頁面上多個員工的狀態,然後點擊一個提交來更新所有更改?如果我這樣做,將會有更少的查詢運行,並且對用戶來說會更快,因爲他們不必在每次更新行後等待。

任何例子將不勝感激,除非有不同的方式來實現這一點,在這種情況下,請讓我知道。

+0

爲什麼你需要再次獲取所有的數據。客戶端知道你發送給服務器的數據,所以服務器只需要發回一個值,表明它已經成功改變(或不是),然後客戶端可以更新DOM。 –

+0

在此期間,其他用戶可能也更改了一些數據,或添加/刪除了名稱,因此我將不得不刷新它。 – user3547425

+0

爲什麼你不能只更新已更改的行? –

回答

0

我有一個想法,可能工作。
加載渲染名稱並使用分頁。
然後使用ajax將帖子發送到服務器並更改數據庫中的數據。 編輯返回成功後,只能更改已使用JavaScript編輯的值以供用戶查看。

+0

其他用戶可能已經更改了數據或添加/刪除的名稱。所以我不得不進行一次刷新,但我更喜歡在頁面更新後執行一次刷新,並通知它們有任何衝突。我只是覺得在每一行更新之後都會這樣做。 – user3547425

+0

您可以將它像數據網格或類似excel一樣,編輯完成後,底部會有一個保存按鈕以保存其更改。如果他們進行了更改並且不保存,請讓他們知道他們是否嘗試離開該頁面。我怎麼都不認爲這是永遠不會起作用的,因爲如果我改變2行,有人可能已經改變了第3行,然後我決定編輯它們。 –

相關問題