自动数据绑定之谜

时间:2012-12-13 11:43:23

标签: asp.net data-binding

我对如何以及何时在页面生命周期中绑定数据源有一些疑问,而我似乎无法在任何地方找到答案。 我有一个gridview,它在设计时绑定到数据源。 DS的一个参数是下拉列表的选定值。这些下拉列表也可以数据绑定以检索其选项,并且下拉列表的自动回发属性设置为true。现在有些事情让我很困惑。

  1. 大多数情况下,更改下拉列表的值将使用新参数重新加载gridview,并且无需在gridview上手动调用databind()以执行此操作。然而,有些情况下gridview没有反弹,我不确定这些条件是什么。 何时数据源会在参数更改时自动反弹,何时需要从代码中手动调用数据手?
  2. 从代码隐藏中调用数据绑定是否会阻止自动数据绑定事件触发,或者它们是否都会触发,从而导致数据源的额外查询浪费?
  3. 如果是前者,有没有办法阻止额外的数据绑定发生,而不必将所有内容都移到代码后面,并且在设计视图中失去了为控件设置数据源的便利?
  4. 这些问题的答案是否记录在任何官方来源? (MSDN等)

1 个答案:

答案 0 :(得分:0)

如果不查看代码,我无法确定,但您可能想了解ViewState。

加载控件后,数据将保留在视图状态中。您通常希望在(!IsPostBack)事件上执行DataBinding,以便在回发时不需要从数据库重新绑定数据。