【问题标题】:multiple updates in one submit in SPA page在 SPA 页面中一次提交多个更新
【发布时间】:2016-07-06 21:48:30
【问题描述】:

我有一个用 ASP.net 编写的网页,它可以找到员工列表,将他们显示在列表视图中,并允许用户更改每个员工的不同状态。

在每一行中,我都有员工信息,例如姓名、出生日期、地址,然后是 4 个显示为复选框的状态字段和一个评论字段,用户可以在其中输入评论,解释他们更改特定状态的原因。

目前在Listview中,有一个编辑,当他们点击编辑时删除按钮,复选框和文本字段显示用户更新它们并点击保存。

asp.net 将进行回发以保存对该行的更改,然后再次获取数据以刷新列表。

我遇到的问题是列表非常大(超过 3000 个名称),所以我使用分页在每页上显示 50 到 100 个名称。这仍然是一个很大的性能问题,因为在每行更新后,都需要运行查询以再次获取这些名称,而使用 ASP.NET,服务器正在生成 html 并将所有内容传递给浏览器。

客户也希望页面对移动设备友好,因此我正在考虑在前端使用 Angular 并在后端使用返回 JSON 的 web-api 或 mvc.net 重做页面。

我的问题是有一种简单的方法可以做到这一点,并允许用户一次更改同一页面上多个员工的状态,然后单击一个提交以更新所有更改?如果我这样做,运行的查询会更少,并且对用户来说会更快,因为他们不必在每次更新后等待。

任何示例都将不胜感激,除非有不同的实现方式,在这种情况下,请告诉我。

【问题讨论】:

  • 为什么需要重新获取所有数据。客户端知道你发送给服务器的数据,所以服务器只需要发回一个值,表明它已成功更改(或没有),然后客户端可以更新 DOM。
  • 其他用户可能在那段时间也更改了一些数据,或者添加/删除了名称,所以我必须刷新它。
  • 为什么不能只更新已更改的行?
  • 那就考虑使用SignalR获取实时更新

标签: asp.net angularjs asp.net-mvc


【解决方案1】:

我有一个可行的想法。
加载渲染名称并使用分页。
然后使用 ajax 将帖子发送到服务器并更改数据库中的数据。 当编辑返回成功时,只需更改已使用 javascript 编辑的值供用户查看。

【讨论】:

  • 其他用户可能已更改数据或添加/删除名称。所以无论如何我都必须进行刷新,但我更喜欢在页面更新后执行一次,并通知他们任何冲突。我只是觉得每次更新后都这样做是一种过度杀戮。
  • 您可以像数据网格或 Excel 一样拥有它,完成编辑后,底部有一个保存按钮来保存更改。如果他们进行了更改并且没有保存,请告知他们是否尝试离开该页面。我怎么不认为这会起作用,因为如果我更改 2 行,有人可能已经更改了第 3 行,然后我决定编辑它们。
猜你喜欢
  • 2017-09-02
  • 2012-03-05
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多