本文实例讲述了ASP.NET网站实时显示时间的方法。分享给大家供大家参考。具体方法如下:
在ASP.NET环境中开发设计网站或网络应用程序时,往往需要实时显示当前日期和时间。这时,通常使用AJAX控件来实现。
需要注意的是,在.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 id="form1" runat="server">
<!-- 必须使用 .net Framework 3.5版本,工具箱中才会有内置的AJAX Extensions -->
<div>
<asp:ScriptManager ID="ScriptManager1" runat="Server" ></asp:ScriptManager><!--必须包含这个控件,否则UpdatePanel无法使用-->
</div>
<table style=" position: absolute; margin-left:200px; margin-right:200px; margin-top:100px; width:270px; height:78px; top: 15px; left: 10px;">
<tr>
<td>动态显示实时时间</td>
</tr>
<tr>
<td style="height:100px;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>当前时间是:
<!--Lable和Timer控件必须都包含在UpdatePanel控件中 -->
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <!--用于显示时间-->
<asp:Timer ID="Timer1" 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();
}
}
至此,完成了Label中实时显示时间的功能。另外,还可以根据需要设置时间显示的样式。
如果只想显示日期,而不显示时间,那么可以利用SubString取出前面的日期。
希望本文所述对大家的asp.net程序设计有所帮助。