【发布时间】:2017-05-16 12:52:42
【问题描述】:
我正在开发使用Repeater 的旧webform asp.net 应用程序。
中继器是一组名称和地址文本框字段。我有 3 组名称和地址信息,基本上,要绑定的对象列表中的 3 组记录。
在 UI 上,我更改/更新了名称和地址之一。我在列表中注意到,它通过转发器控件进行迭代或循环
foreach (RepeaterItem item in this.NameAddressRepeaterControl.Items)
我看到项目中添加了额外的记录。
问题:
我习惯于固定文本框。当我更新文本框时,我编写代码以获取 Exactly 文本框中填充的内容并填充 DTO 对象以传递给数据层以执行数据库事务以更新数据库记录。 当新更新的记录添加到Repeater Control列表时,我不知道哪些记录被更新,哪些是新记录。
我正在检查 OnItemDataBound 和 OnItemCommand 以查看是否有办法从其中一个字段中获取旧值并记录新值的值。这可能吗?
该表单包含 1 个保存按钮,它将循环遍历 Repeater.Items 以查看要提取的名称/地址,但此列表中存在新旧公司。
有没有办法直接从可见的Repeater控件中提取而不是循环遍历RepeaterControl.Items?如果有 3 个中继器名称/地址控件,有没有办法从 3 组中继器控件中的每一个中获取所有信息?中继器环绕用户控件 NameAddressCtrl。
我不喜欢用固定的文本框替换中继器控件。
非常感谢任何帮助。
谢谢。
【问题讨论】:
-
多一点代码不会有什么坏处;)你在每个中继器项目中都有一个按钮来保存更改吗?还是一个适合所有人?
-
它适合所有人。
-
你把Repeater的数据绑定封装在
if (!Page.IsPostBack) { //bind here }里面了吗