Nov 3

asp.net实现动态显示当前时间

piikee , 12:36 , 计算机相关 » .net专区 , 评论(0) , 引用(0) , 阅读(1055) , 本站原创 | |
asp.net实现动态显示时间的两个方法

方法一:不用javascrip,而是用了AJAX。(开销比较大,每秒向服务器请求一次时间)

Default.aspx页面:先拉一个ScriptManager控件到页面,然后拉一个UpdatePanel控件。UpdatePanel里面放一个Label用于显示时间,放一个timer控件用于控制时间的更新。注意Label与Label都要放到UpdatePanel控件里面。最后,timer控件的Interval属性设置为1000,让它每1秒执行一次即更新时间。
Default.aspx.cs页面:只需在
protected void Page_Load(object sender, EventArgs e)
里面输入
Label1.Text = DateTime.Now.ToString();
即可。


下面是两个页面的源码:


Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="动态显示实时时间._Default" %>

<!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>
    <style type="text/css">
        .style1
        {  
          
            height: 183px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div> <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    </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 class="style1"><asp:UpdatePanel ID="UpdatePanel1" runat="server"  >
        <ContentTemplate>
        当前时间是:
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <asp:Timer ID="Timer1" runat="server" Interval="1000">
            </asp:Timer>
        </ContentTemplate>
        </asp:UpdatePanel>
                    </td></tr>
    </table>
      
    </form>
</body>
</html>



Default.aspx.cs

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace 动态显示实时时间
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = DateTime.Now.ToString();
        }
    }
}



方法二:用JavaScript实现(注意:1、这里不用document.write来显示时间是因为document.write只在页面加载时执行,所以只刷新一次时间之后就没再执行,也就无法更新时间了。2、div是用来放时间的,其ID是near,所以用 near.innerHTML 来向它里面写时间。3、注意要在body标签里面加入onload="showtime()"让这个函数在页面加载时执行)

代码如下:


<body onload="showtime()">

<script   language="javascript">    
  showtime();  
  function   showtime()  
  {  
    
  var   hour=nowdate.getHours();  
  var   minutes=nowdate.getMinutes();  
  var   seconds=nowdate.getSeconds();  
    
  hour=(hour<10)   ?   "0"+hour:hour;  
  minutes=(minutes<10)   ?   "0"+minutes:minutes;  
  seconds=(seconds<10)   ?   "0"+seconds:seconds;

   near. innerHTML = "现在时间:"+hour+":"+minutes+":"+seconds ;

setTimeout("showtime()",1000);    


}  
    
  </script>
<div id="near "></div>
</body>
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]