【问题标题】:How to re-Bind a GridView in a ASP.Net page as a result of a user control event由于用户控件事件,如何在 ASP.Net 页面中重新绑定 GridView
【发布时间】:2011-03-23 14:40:15
【问题描述】:

我有一个带有数据网格和用户控件的网页。 用户控件有一个网页订阅的事件。 在用户控件事件上,我需要重新绑定网页上的数据网格。

由于附加到网格的扩展器控件指示它们在预渲染后无法注册,因此我遇到了各种问题,因此看起来用户控件事件发生在页面生命周期的后期。无论哪种方式,这些错误都表明我完全走错了方向。

如果可能的话,我不想在用户控件中引用我的页面。

实现这一目标的最佳方法是什么。

我每次都尝试在PageLoad上绑定网格,但发现虽然发生了Databind并且更新的数据在数据源中,但网格内容并没有反映这一点。 [这是在玩这个的 GridView 视图状态吗?]

完全刷新或使用页面按钮重新绑定网格允许我显示正确的值。

提前致谢,

利亚姆

【问题讨论】:

  • 通常这正是推荐的方式。但似乎扩展器是问题所在。看看这是否有帮助:forums.asp.net/t/1061827.aspx
  • 谢谢。我们对网格上的每一行都使用了扩展器,这确实增加了复杂性。网格的每一行中的一个单元格都有一个下拉扩展器,其中包含要选择的项目,用于在该行上执行操作。

标签: asp.net data-binding webusercontrol


【解决方案1】:

"我每次都尝试在 PageLoad 上绑定网格,但发现 尽管发生了数据绑定并且更新的数据在 网格内容没有反映这一点的数据源。 [是不是 GridView 视图状态在玩这个吗?]"。

我认为这个问题的答案(至少部分)是第三方控件使用回调来返回服务器而不是回发,所以这可能是问题所在。据我了解,网格绑定正常但未渲染。 [直到这周我才发现 Callbacks 和 Postbacks 之间的区别!!]

不过,我愿意对此进行更正。 :)

利亚姆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多