Asp.net 将非数据源项添加到ListView

Asp.net 将非数据源项添加到ListView,asp.net,listview,Asp.net,Listview,可能只是我还没有找到正确的模式。我有一个列表视图,其中显示了最初从数据库填充的记录列表。现在,我希望用户能够选择删除或删除记录,然后在某个时候提交新的记录集。在提交之前,数据库中不应发生任何事情 因此,如果有5条数据库记录要显示,并且用户选择添加两条记录,则两条记录将附加到控件。然后,他们可以选择删除真实记录、伪造记录和新的伪造记录,然后提交 此时,我将协调控件与数据库 这里的一切都很好,除了我在列表视图中添加一条新记录而不重新查询数据库,然后向数据源添加一条记录并重新绑定的部分 控件已表示提议

可能只是我还没有找到正确的模式。我有一个列表视图,其中显示了最初从数据库填充的记录列表。现在,我希望用户能够选择删除或删除记录,然后在某个时候提交新的记录集。在提交之前,数据库中不应发生任何事情

因此,如果有5条数据库记录要显示,并且用户选择添加两条记录,则两条记录将附加到控件。然后,他们可以选择删除真实记录、伪造记录和新的伪造记录,然后提交

此时,我将协调控件与数据库

这里的一切都很好,除了我在列表视图中添加一条新记录而不重新查询数据库,然后向数据源添加一条记录并重新绑定的部分

控件已表示提议的状态,减去请求的新记录


传统上是如何做到这一点的?

我假设您使用回发来实现这一点。您是否可以执行所有添加/删除纯客户端的操作,并仅在用户完成后提交?我曾考虑过使用jQuery进行此操作,但不确定这样做的含义。它们是什么?不确定你所说的含义是什么?要做多少工作?您可能会遇到什么类型的问题?还有什么吗?当我读到这篇文章时,我的第一反应是应该将控件绑定到一个数据表,并通过将其存储在会话中来持久化它。听起来您现在正在使用SqlDataSource?DataTable允许您针对它而不是控件进行编码,并且还可以轻松地基于更新数据库。如果您选择序列化到JSON客户端并重新解析服务器端,您将拥有一些优秀的库来帮助您完成这两项任务。您将提供更平滑的用户体验,因为您避免了不断的回发,并且您将能够关闭ListView的ViewState,因为您将只使用它来输出HTML。当然,在这一点上,使用jQuery模板只是一小步,微软提供了jQuery模板,在客户端而不是服务器端执行所有HTML格式化,并在隐藏字段或类似的地方提供JSON序列化数据。