使用Trigger让UpdatePanel外部的控件也支持无刷新异步调用

在AJAX的具体实践中,我们的页面典型的效果就是无刷新提交,或者可以说是局部刷新提交。

为了实现该功能,一般我们都会使用UpdatePanel这个控件,然后在其ContentTemplate中,放置我们标准的服务器控件。这些控件的使用方式和传统的没有什么两样,只不过,它们因为被放在了UpdatePanel中,所以,它们的事件都是异步调用的,也就是说不会引起页面的(PostBack)

但有一个问题就是,如果控件不放在UpdatePanel内部,有没有办法实现类似的功能呢?答案是:可以的。

这就是UpdatePanel的Trigger机制。

<Triggers>

<asp:AsyncPostBackTrigger ControlID="asyncButton" EventName="Click" />
<!--
    这是指定某个按钮不要触发PostBack,哪怕该控件是放置在UpdatePanel外。
-->

</Triggers>

 

反过来说,是不是所有放在UpdatePanel中的控件都是通过异步的机制,而不能触发PostBack呢?答案是:不是

<asp:PostBackTrigger ControlID="postbutton" />
<!--
    这是指定某个按钮要触发PostBack。哪怕该控件是放置在UpdatePanel中。
-->
posted @ 2009-05-12 11:03  陈希章  阅读(2215)  评论(0编辑  收藏  举报