如果我将GridView(通过DataSourceID属性)绑定到SqlDataSource并设置SelectCommand和UpdateCommand属性,那么一切都很完美。
但是我注意到,如果我出于某种原因,也在Page_Load()中手动调用DataBind(),那么SqlDataSource不会执行任何更新,即使在GridView的时候SqlDataSource.Updating和SqlDataSource.Updated事件也会触发点击更新按钮。
有人可以解释为什么不会发生更新吗?
答案 0 :(得分:8)
这是因为在激活SqlDataSource.Updating和SqlDataSource.Updated事件之前会触发Page_Load。这意味着GridView将重置为用户编辑之前的内容。
有关详细信息,请查看Page Lifecycle文档。 SqlDataSource.Updating和SqlDataSource.Updated事件发生在Postback事件处理部分。