去年用了很长时间,学习Ajax,已经很长时间没有用过了,而且这块儿的实践并不多。这次借项目机会,重新温习,深化学习。
Ajax的一个核心是局部刷新,这里先回顾一下局部刷新的框架:
<asp:UpdatePanel ID="UpdatePanelResult" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table style="margin-top: 3px" width="100%">
…………
…………
</talbe>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnQuery" EventName="Click"></asp:AsyncPostBackTrigger>
<asp:PostBackTrigger ControlID="btnUpLoad" />
</Triggers>
</asp:UpdatePanel>
使用方法:
将要更新的区域,放到UpdatePanel的<ContentTemplate>中,然后将触发更新的控件ID和事件名,放到<Triggers>区域中,也就是给ControlID和 EventName赋值的过程,这里需要注意的是,这里的事件名,是asp.ent页面中,去掉On后的函数名。如:
<asp:Button ID="btnUpLoad" OnClick="btnUpLoad_Click" runat="server" Text="上传"></asp:Button>
只需要写上EventName="Click"即可,如果触发该区域更新的有多个命令按钮,且都在他们的单击事件中触发,那么直接在后面追加填写即可,如:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnQuery" EventName="Click"></asp:AsyncPostBackTrigger>
<asp:PostBackTrigger ControlID="btnUpLoad" />
<asp:PostBackTrigger ControlID="btnDel" />
</Triggers>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rbtnFailure" EventName="CheckedChanged" />
<asp:AsyncPostBackTrigger ControlID="rbtnSucess" EventName="CheckedChanged" />
</Triggers>