2016-07-06 53 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行,然后我决定编辑它们。 –

相关问题