我遇到的问题是我有一张表,当用户点击按钮时,它会通过javascript向表中添加一行,这样可以正常工作。问题是,如果用户需要更新其他数据,则用户单击另一个刷新页面的按钮,并删除用户在表中创建的所有行。我的问题是,如果刷新页面,我该怎么做才能删除行?我知道有些人可能会想,只是不刷新页面,但是必须显示很多数据,并且必须生成新的查询才能获取数据。任何帮助将非常感谢。
感谢所有评论。我以为我会编辑我的问题b / c ppl问为什么不通过服务器或通过ajax添加它。原因是b / c我遇到了一个问题,在另一个应用程序上这样做,我会解释这个问题。当我通过服务器端添加一行时它工作得很好,但是我开始注意到一些用户会添加100行并且它会变得非常慢甚至超时,每次用户添加一个b / c时行,它必须每次重新创建所有这些行,导致它超时。这就是为什么我想通过javascript(客户端)b / c添加行,你不必每次用户添加另一行时重新创建所有这些行。如果有另一种处理方式而不减慢页面速度或可能超时页面,请告诉我。它有点让我疯狂!我多年来一直是一名ASP程序员,并且对.Net更新一点似乎没有办法解决这个问题
答案 0 :(得分:0)
您需要让服务器知道您已在表格中添加了一列。有很多方法可以执行此操作。
每次回发到服务器时(因为HTTP都是无状态的),它从头开始,所以它会为你生成一个新表。
要做到这一点,你需要在服务器上执行一些代码,最简单的方法是在服务器上添加行,而不是像你现在那样在客户端上添加。
如果您发布表格的生成方式 - 我们将能够为您指明正确的方向。
答案 1 :(得分:0)
这里有两种现实的方法:
1)不要重新加载页面。如果你从脚本中获取,你只需返回json或xml并在javascript中解析它
2)当您添加新行时将其保存到服务器,以便保存并在以后刷新页面时使用
答案 2 :(得分:0)
使用html5 localstorage在客户端上保留行的值,每次刷新时都会使用javascript从localstorage重新创建行。
作为旁注,除非行中有很多行或大量数据,否则服务器端不应该特别慢,并且任何一种情况都会使localstorage无法使用。
备选方案,服务器端将数据存储在会话变量中,但不要将其作为主页的一部分返回,使用ajax单独检索客户端并将其放入页面(如果有很多行则使用分页)。