在asp.net ajax中内置服务器端控件除ScriptManager控件和UpdatePanel控件最常用之外,还有如下三个:
1.ScriptManagerProxy控件
在ScriptManagerProxy控件中可添加ServicesReference和ScriptReference,在网上找了一些相关资料看了一下,并试用过,没有觉得什么特别之处。
2.UpdateProgress控件
UpdateProgress控件可配合UpdatePanel控件使用,在请求稍长时,提高用户体验,使用起来很简单,先指定UpdatePanelIDU,并将等待提示相关的文字或图片放到其中,即可,具体如下代码:
- <asp:ScriptManager ID="ScriptManagerDemo" runat="server"></asp:ScriptManager>
- <asp:UpdatePanel ID="UpdatePanelDemo" runat="server"></asp:UpdatePanel>
- <asp:UpdateProgress ID="UpdateProgressDemo" runat="server"
- AssociatedUpdatePanelID="UpdatePanelDemo" DisplayAfter="100">
- <ProgressTemplate>
- 数据加载中...
- </ProgressTemplate>
- </asp:UpdateProgress>
如果请求时间过短的情况下,可能会一闪而过,这是因为显示延迟时间设置过长,只需要修改DisplayAfter的值(默认为500毫秒)即可,见上图指出。
3.Timer控件
顾名思义,主要用作控制时间,只需要设置一下Interval的值,并绑定OnTick事件,具体如下:
前端代码:
- <asp:ScriptManager ID="ScriptManagerDemo" runat="server"></asp:ScriptManager>
- <asp:Label ID="lblMessage" runat="server"></asp:Label>
- <asp:Timer ID="TimerDemo" runat="server" Interval="2000"
- ontick="TimerDemo_Tick"></asp:Timer>
服务器端代码:
- protected void TimerDemo_Tick(object sender, EventArgs e)
- {
- this.lblMessage.Text = String.Format("当前时间:{0}",
- DateTime.Now.ToLongTimeString());
- }
以上代码完成的操作是整页面刷新,可以通过结合UpdatePanel控件,将OnTick事件注册到UpdatePanel控件上,即可完成异步刷新。
本文转自 彭金华 51CTO博客,原文链接:http://blog.51cto.com/pengjh/596472