OK,将这个列表置入UpdatePanel,这时点击需要排序的列的列头(标题)就需要触发一个回发事件,很常见的方式就是在在UpdatePanel内添加一个隐藏的按钮(或updatepanel外并设置该按钮为updatepanel的异步触发器),然后在点击列头时触发按钮的click事件即可。
下面以一个更简单的例子来描述上面的情形:
在Building Interactive User Interfaces with Microsoft ASP.NET AJAX: Refreshing An UpdatePanel With JavaScript 这篇文章中还介绍了一种方式:
这里使用了ClientScript.GetPostBackEventReference,最终生成的前台代码如下:
表明该种实现方式其实是利用了即使是异步postback,也会触发页面的完整生命周期的原理。
虽然这种方式在简单情形下很有效,但也存在一个很严重的弊端:没有对应的处理回发事件的地方,像上面的例子就只能在Page_Load里处理。如果一个页面只有一个按钮会引起回发,那么我们也完全可以不用设置该按钮的OnClick事件,而在Page_Load等中进行处理。但是如果很多按钮呢,映射到上面的例子:如果还需要点击div显示完整的日期呢?这种方式就捉襟见肘了。
[1] [2] 下一页