首页 > 代码库 > 每日一剂 14-5-30

每日一剂 14-5-30


1,asp:ScriptManager与UpdatePanel共同使用实现局部刷新

【使用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中。
-->