ASP.Net中内置的简化AJAX开发的控件UpdatePanel
放入ScriptManager,将要实现AJAX效果的控件放到UpdatePanel中即可。
UpdatePanel原理探秘,用HttpWatch看。
只把需要无刷新更新的部分放到UpdatePanel中。
UpdatePanel用来实现一些对性能要求不高的需求非常方便。
从原理分析为什么在客户端把TextBox变红,AJAX请求以后又变白了。
Timer实现定时AJAX效果,原理分析。
UpdateProgress显示“正在加载数据”。
AJAX Toolkit简介。
微软异步组件:
1.拖拽ScriptManager一个。
2.可以拽多个UpdatePanel.
3.把ListView放到UpdatePanel中。
配合ObjectDataSource实现增删改查。
4.演示在UpdatePanel中,放按钮,做按钮的点击事件
在按钮的点击事件中执行操作。
5.做一些Demo性演示。
6.放在UpdateProcess中的内容就是当服务器等待的时候显示这个panel,当接收到请求数据的时候则UpdateProcess就不显示了。
微软Ajax组件
-》讲在前面:这样提高了开发效率,但是真实的执行效率,并没有提高
-》主要控件:在工具箱的“ajax扩展”标签中,包含了基本的ajax控件
ScriptManager:放在页面的最顶端,必须要有这个控件,才可以使用异步控件
一个页面中只有一个ScriptManager控件
UpdatePanel:放在这个容器内的内容,都会进行异步刷新
可以有多个UpdatePanel控件
UpdateProgress:用于显示进度,可以放置一张旋转的图片
Index.aspx
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="t3_Ajax.Index" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <title></title> 9 <style type="text/css"> 10 .auto-style1 { 11 width: 100px; 12 height: 100px; 13 } 14 </style> 15 </head> 16 <body> 17 <form id="form1" runat="server"> 18 <asp:ScriptManager ID="ScriptManager1" runat="server"> 19 </asp:ScriptManager> 20 <div> 21 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 22 <ContentTemplate> 23 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 24 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 25 </ContentTemplate> 26 </asp:UpdatePanel> 27 <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1"> 28 <ProgressTemplate> 29 <img alt="" class="auto-style1" src="images/loading.gif" /> 30 </ProgressTemplate> 31 </asp:UpdateProgress> 32 <br /> 33 <br /> 34 <br /> 35 <hr /> 36 <%=DateTime.Now.ToString() %> 37 </div> 38 </form> 39 </body> 40 </html>
Index.aspx.cs
1 public partial class Index : System.Web.UI.Page 2 { 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 6 } 7 8 protected void Button1_Click(object sender, EventArgs e) 9 { 10 Thread.Sleep(2000); 11 Label1.Text = DateTime.Now.ToString(); 12 } 13 }