需要注意的是,在.NET Framework 2.0版本中,工具箱中是没有AJAX Extensions控件的。而.NET Framework 3.5版本中集成了AJAX。
ASP.NET AJAX包括三部分:
①一个扩展客户端JavaScript功能的客户端库或框架;
②一个允许ASP.NET AJAX很好地集成到Visual Studio中的服务端编程和开发扩展包;
③一个由社区开发和支持的工具箱。
在服务器端,AJAX扩展包包含了少数几个AJAX控件,分别是:ScriptManager、ScriptManagerProxy、Timer、UpdatePanel、UpdateProgess。
其中,ScriptManager控件可以指示ASP.NET配置引擎使用AJAX方式向客户端发送响应,并且在发送响应时引入脚本库。
要特别注意:每个支持AJAX功能的ASP.NET的Web窗体必须包含且只能包含一个ScriptManager控件。
UpdatePanel是一种利用AJAX实现的新的 Web窗体中的控件容器。每个要支持AJAX的ASP.NET Web窗体可包含一个或多个UpdatePanel控件。
要实现实时显示时间,只需要下面两个步骤:
1、在ASP.NET 项目中新建一个Web窗体,命名为ShowCurrentTime,其前台代码如下。
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowCurrentTime.aspx.cs" Inherits="ShowCurrentTime" %>
<!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>动态显示实时时间</title>
</head>
<body>
<form runat="server">
<!-- 必须使用 .net Framework 3.5版本,工具箱中才会有内置的AJAX Extensions -->
<div>
<asp:ScriptManager runat="Server" ></asp:ScriptManager><!--必须包含这个控件,否则UpdatePanel无法使用-->
</div>
<table>
<tr>
<td>动态显示实时时间</td>
</tr>
<tr>
<td>
<asp:UpdatePanel runat="server">
<ContentTemplate>当前时间是:
<!--Lable和Timer控件必须都包含在UpdatePanel控件中 -->
<asp:Label runat="server" Text="Label"></asp:Label> <!--用于显示时间-->
<asp:Timer runat="server" Interval="1000"></asp:Timer><!-- 用于更新时间,每1秒更新一次-->
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</form>
</body>
</html>
2、在ShowCurrentTime.aspx.cs文件中,只需要添加一句代码即可。代码如下:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ShowCurrentTime : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
}
}