现在的位置: 首页 > 综合 > 正文

ASP.NET网站中显示实时时间

2013年10月13日 ⁄ 综合 ⁄ 共 2057字 ⁄ 字号 评论关闭

在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取出前面的日期。

抱歉!评论已关闭.