代码之家  ›  专栏  ›  技术社区  ›  mclark1129

如何在ASP.NET中使用具有断开连接的architecture的数据绑定控件?

  •  2
  • mclark1129  · 技术社区  · 15 年前

    在开发ASP.NET应用程序时,我经常创建允许用户在数据库中创建、检索或更新记录的表单。很多时候,需要能够将子记录添加到我正在创建的项目中,例如向产品添加类别或某种订单/订单详细信息关系。通常我使用某种DropDownList来显示可能的子记录列表,然后使用DataGrid来显示哪些子记录已经是父记录的一部分。目前,我知道在ASP.NET中实现这一点的唯一方法是首先将父记录保存到数据库,这样我就可以分配pk/fk关系,这样我就可以对保存子记录的数据报进行数据绑定。

    我想知道的是,是否有某种方法可以实现表单,以便我可以从这些数据报中添加或删除记录,但在用户单击“保存”以一次创建或更新所有所需记录之前,不会实际提交更改。如果这对数据绑定更好的话,我将开始从使用亚音速迁移到LINQ。由于HTTP的无状态性,这看起来相当困难。

    任何想法都非常感谢,

    迈克

    1 回复  |  直到 15 年前
        1
  •  1
  •   MusiGenesis    15 年前

    能够 使用缓存 DataSet 为此。它们非常适合用作基于表的关系数据的内存表示。实际上我 真的? 由于各种原因,不建议使用这种方法,但是您可以将数据集缓存在服务器上,允许用户通过回发与它进行交互(添加、编辑、删除等),然后只在最后保留对真正基础数据库的更改。

    不过,我认为更好的方法是在用户在事务中输入基础数据库时对其进行所有更改,然后只在事务结束时提交这些更改。