最开始在IBM 的网站上看ajax 的使用,
其实脑袋比较大,因为毕竟ibm 用jsp ,php 的比较多,有的看不明白
所以试了下vs 2008中自带的ASP.NET AJAX 控件
效果不错
1、ScriptManager 控件,asp.net ajax 的服务控件,若要使用ajax,则添加此控件,目前状况来说,一切默认即可。
2、UpdatePanel 控件,实现异步刷新的容器,里面含有<ContentTemplate> 以及<Triggers>,看名字就可以知道其作用
<ContentTemplate>放需要异步刷新的东西,<Triggers>放触发刷新的控件 ,特别指出的是,在<Triggers> 中
的<asp:AsyncPostBackTrigger> 的EventName属性,不是指事件的方法名,而是直接就是事件名 比如说timer
控件的事件名为:Tick,事件实现的方法名为Timer1_Tick。。。切勿填写错误。。。
自己做了一个很简单的例子来试验ASP.NET AJAX 的功能:异步刷新时间,代码如下:
Default.aspx代码
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> </Triggers> </asp:UpdatePanel> <asp:Timer ID="Timer1" Interval="1000" runat="server" ontick="Timer1_Tick"> </asp:Timer> </div> <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> </form> </body> </html>
Default.aspx.cs 代码
using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Timer1.Enabled = true; } protected void Timer1_Tick(object sender, EventArgs e) { Label1.Text = System.DateTime.Now.ToString(); Label2.Text = System.DateTime.Now.ToString(); } }
多多交流。。。。