我有一个页面,其中包含更新面板中listview控件的一部分。当在列表视图中单击按钮时,我修改了一些数据并调用this.databind来刷新数据。即使控件位于更新面板内,看起来页面加载事件仍在触发。我想知道为什么页面加载事件被触发?是因为在listview_onitemcommand事件上调用this.databind吗?
答案 0 :(得分:5)
UpdatePanel在服务器上调用整个请求生命周期。这与您在普通同步页面中单击按钮完全相同。 OnInit,OnLoad,Click_Handler和Render都执行。整个页面呈现为HTML,并通过UpdatePanel的AJAX调用发送回浏览器。唯一的区别是,当UpdatePanel收到结果(页面的整个HTML输出,就像正常一样)时,它只切出与自身相关的部分,并用该HTML替换DOM,并将其余部分抛弃。 (它还会更新/替换ViewState)
答案 1 :(得分:-2)
如果您希望摆脱UpdatePanel,我建议您阅读this article
我认为摆脱UpdatePanel是我做过的最精彩的Ajax决定。