本文实例讲述了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程序设计有所帮助。