【问题标题】:The ListView LayoutCreated Event Is Not Fired After Handling ItemCommand处理 ItemCommand 后不触发 ListView LayoutCreated 事件
【发布时间】:2011-10-12 02:44:53
【问题描述】:

我正在尝试在处理 ItemCommand 事件后更新 ListView 控件中的控件。

我的 ListView 在 as html 表格行中显示采购订单的行项目以及用于输入新数量的文本框和用于更新数量的按钮。然后,我的 ListView 还会在 as html 表格行中显示上述行项目的小计、折扣和总计。在初始加载时,我在 LayoutCreated 事件处理程序的 ListView 中设置控件的值。

当输入新数量并单击要更新的按钮时,我在 ItemCommand 事件处理程序中处理了该事件。我更新了特定行项目的数量。然后我将我的 ListView 重新绑定到底层集合并调用 DataBind()。问题是,这次没有触发 LayoutCreated,仅在初始加载时触发。

我的解决方法是将这些控件拉出并将它们作为静态控件进行处理,但我喜欢将它们放在里面,因为我的表格标记可以完全包含在其中并且我可以清晰地显示而无需处理静态控件' 显示属性。

我问的可能吗?感谢您提供的任何帮助。

【问题讨论】:

  • 我想知道是否处理DataBound 事件(而不是LayoutCreated 事件),并在那里设置值,会解决你的问题。我没有足够的信心将其作为答案,但值得考虑 =)
  • 谢谢 jadarnel27。赢!我将 LayoutCreated 事件处理程序代码切换到 DataBound 事件处理程序,现在我得到了所需的行为。我如何投票/将您的评论标记为答案?

标签: asp.net listview


【解决方案1】:

我建议处理ListViewDataBound 事件(而不是LayoutCreated 事件),并在那里设置值。每次您重新绑定 ListView 以及首次加载时都会调用它,这(根据您的描述)是您想要做的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多