【问题标题】:asp.net webform Repeater, Update a set of textbox, Add to the List / Arrayasp.net webform Repeater,更新一组文本框,添加到列表/数组
【发布时间】: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 }里面了吗

标签: asp.net webforms repeater


【解决方案1】:

我多次查看了代码并添加了额外的代码来跟踪重复添加和更改的内容,并且只传递了要保存到数据库的信息。解决方案是编写额外的代码。我没有对中继器行为进行任何更改。感谢 cmets 和帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 2019-03-30
    相关资源
    最近更新 更多