您的位置:首页 > 编程语言 > ASP

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

2012-03-28 22:10 423 查看
ASP.NET网站中显示实时时间

标签:
asp.netajaxtimerserveraspxhtml

2012-03-28 22:10
6526人阅读 评论(2)
收藏
举报

本文章已收录于:


分类:
ASP.NET(4)




作者同类文章X

版权声明:本文为博主原创文章,未经博主允许不得转载。

在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,其前台代码如下。

[html]
view plain
copy
print?

<%@ 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>  



<%@ 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文件中,只需要添加一句代码即可。代码如下:

[csharp]
view plain
copy
print?

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();  
      
    }  
}  



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



顶0踩0
 
 
上一篇JavaScript中的变量及数据类型
下一篇ASP.NET中使用<script runat="server">

我的同类文章

ASP.NET(4)

http://blog.csdn.net
ASP.NET中弹出消息框的几种方法2012-05-16阅读1790
ASP.NET中使用<script runat="server">2012-04-11阅读4757
GridView分页问题2012-05-11阅读2301
ASP.NET网站发布2012-02-23阅读490

1楼 qxssong
2013-10-30 15:15发表
[回复] [引用]

[举报]

这样每次都postback吧,为什么不用Javascript呢

<script>

function displayTime() {

var elt = document.getElementById("clock");

var now = new Date();

elt.innerHTML = now.toLocaleTimeString();

setTimeout(displayTime, 1000);

}

window.onload = diaplayTime;

</script>

在<body>里:

<span id="clock"></span>

这样即使断网也能显示实时时间。

Re: 之苒
2013-11-14 09:59发表
[回复] [引用]

[举报]

回复qxssong:谢谢,您的建议很好!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: