asp.net webform Repeater,更新一组文本框,添加到列表/数组

asp.net webform Repeater,更新一组文本框,添加到列表/数组,asp.net,webforms,repeater,Asp.net,Webforms,Repeater,我正在使用Repeater开发旧的WebFormASP.net应用程序 中继器是一组名称和地址文本框字段。我有3套姓名和地址信息,基本上,要绑定的对象列表中有3套记录 在UI上,我更改/更新了其中一个名称和地址。我注意到在列表中,它迭代或循环通过repeater控件 foreach (RepeaterItem item in this.NameAddressRepeaterControl.Items) 我看到项目中增加了一个额外的记录 问题: 我习惯于固定文本框。当我更新文本框时,我编写代码

我正在使用Repeater开发旧的WebFormASP.net应用程序

中继器是一组名称和地址文本框字段。我有3套姓名和地址信息,基本上,要绑定的对象列表中有3套记录

在UI上,我更改/更新了其中一个名称和地址。我注意到在列表中,它迭代或循环通过repeater控件

foreach (RepeaterItem item in this.NameAddressRepeaterControl.Items) 
我看到项目中增加了一个额外的记录

问题:

我习惯于固定文本框。当我更新文本框时,我编写代码以准确地获取文本框中填充的内容,并填充DTO对象以传递到数据层,以执行数据库事务以更新数据库记录。 当新更新的记录被添加到中继器控制列表时,我不知道哪些记录被更新,哪些是新记录

我正在检查OnItemDataBound和OnItemCommand,看看是否有办法从其中一个字段中获取旧值,并记录新值的值。这可能吗

表单包含1个保存按钮,它将在中继器中循环。要查看要提取的名称/地址的项目,但新公司和旧公司都存在于此列表中

有没有办法直接从可见的中继器控件中提取,而不是通过RepeaterControl.Items循环?如果有3个转发器名称/地址控件,是否有方法从3组转发器控件中的每一组获取所有信息?中继器环绕用户控件NameAddressCtrl

我不喜欢用固定的文本框替换中继器控件

非常感谢您的帮助


谢谢

我多次查看了代码,并添加了额外的代码,以跟踪在重复过程中添加和更改的内容,并且只将要保存的信息传递给数据库。解决方案是编写额外的代码。我没有改变转发器的任何行为。感谢您的评论和帮助。

我多次查看了代码,并添加了额外的代码,以跟踪在重复中添加和更改的内容,并且只将要保存的信息传递给数据库。解决方案是编写额外的代码。我没有改变转发器的任何行为。感谢您的评论和帮助。

多写一点代码不会有什么坏处;)您在每个转发器项目中都有保存更改的按钮吗?还是一对所有人?这是一对所有人。如果(!Page.IsPostBack){//bind here}再多一点代码不会有什么坏处,你是否将中继器的数据绑定包装在
if(!Page.IsPostBack){//bind here}
中您在每个转发器项目中都有保存更改的按钮吗?还是一对所有人?这是一对所有人。您是否将中继器的数据绑定封装在
if(!Page.IsPostBack){//bind here}