C# 如何在标签中创建正在运行的当前日期时间

C# 如何在标签中创建正在运行的当前日期时间,c#,asp.net,datetime,webforms,C#,Asp.net,Datetime,Webforms,我对ASP.net C非常陌生。我设法在网上搜索如何在C标签中显示当前日期。出于某种原因,页面加载需要在webform中作为脚本实现,如果在codebehind中实现,则无法工作。我的问题是,只有当页面刷新时,时间才会改变。我需要时间随着系统时间的变化而变化。请帮帮我。提前谢谢 以下是获取当前日期和时间的代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StaffTravelInterface.aspx.cs" In

我对ASP.net C非常陌生。我设法在网上搜索如何在C标签中显示当前日期。出于某种原因,页面加载需要在webform中作为脚本实现,如果在codebehind中实现,则无法工作。我的问题是,只有当页面刷新时,时间才会改变。我需要时间随着系统时间的变化而变化。请帮帮我。提前谢谢

以下是获取当前日期和时间的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StaffTravelInterface.aspx.cs" Inherits="StaffTravel.StaffTravelInterface" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime dt = DateTime.Now;
        string Day = dt.Day.ToString();
        string Month = dt.ToString("MMM");

        string Hour = dt.Hour.ToString();
        string Minute = dt.ToString("mm");
        timeNow.Text = Day + " " + Month + "   " + Hour + ":" + Minute;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <style type="text/css">
            #time
            {
                margin-top:-67px;
                float:right;
            }

            #main
            {
                position:static;
                max-width:100%;
            }

            #head
            {
                width:100%;
            }
        </style>

    <title></title>
</head>

<body>
    <form id="form1" runat="server">
        <div id="main">
            <div id="head" style="background-image:url('../Pics/Header.png'); background-repeat:no-repeat; height:100px">
            </div>

            <div id="time">
                <asp:Label ID="timeNow" runat="server" Text="" style="color:#fea171; font-family:Arial Black; font-weight:bold; font-size:32px"></asp:Label>
                &nbsp;
            </div>

            <div id="bg2">
                <img src="Pics/slide.png" style="width:100%; height:100%" />
            </div>
        </div>
    </form>
</body>
</html>

在窗体中添加一个名为Timer1的新计时器控件,将间隔设置为1000毫秒,然后双击计时器控件编辑Timer1\u Tick的代码

<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="1000" />
它将定义计时器。 然后添加一个触发器

<Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" />
    </Triggers>
然后添加以下脚本

<script runat="server">
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        timeNow.Text = DateTime.Now.ToLongTimeString();
    }

</script>

如果要更改时间,则仅在刷新页面时更改,而不是使用IsPostBack事件

<script runat="server">
       protected void Page_Load(object sender, EventArgs e)
        {
         if(!IsPostBack)
          {
           DateTime dt = DateTime.Now;
           string Day = dt.Day.ToString();
           string Month = dt.ToString("MMM");

           string Hour = dt.Hour.ToString();
           string Minute = dt.ToString("mm");
           timeNow.Text = Day + " " + Month + "   " + Hour + ":" + Minute;
          }
    }
      </script>
希望它能起作用。

找到了我的答案

我的剧本:

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime dt = DateTime.Now;
        string Day = dt.Day.ToString();
        string Month = dt.ToString("MMM");

        string Hour = dt.Hour.ToString();
        string Minute = dt.ToString("mm");
        string Seconds = dt.ToString("ss");
        timeNow.Text = Day + " " + Month + "   " + Hour + ":" + Minute + ":" + Seconds;
    }
</script>
我的代码:

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

    <div id="main">
        <div id="head" style="background-image:url('../Pics/Header.png'); background-repeat:no-repeat; height:100px">

        </div>

        <div>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                </Triggers>

                <ContentTemplate>
                    <asp:Label Id="timeNow" runat="server" style="color:#fea171; font-family:Arial Black; font-weight:bold; font-size:32px"></asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>

            <asp:Timer ID="Timer1" runat="server" Interval="1000">
            </asp:Timer>
        </div>

        <div id="bg2">
            <img src="Pics/slide.png" style="width:100%; height:100%" />
        </div>
    </div>
</form>

当然,当页面在服务器上加载或刷新时,它会改变。要显示服务器时间还是客户端时间??Timer1.Start;给我一个定义错误。它表示System.Web.UI.Timer不包含启动的定义。我甚至不能在我的codebehind中添加using System.Web.UI.Timer,因为它不存在。请帮忙。我还需要添加一个脚本管理器。我现在遇到的问题是,整个页面每1000毫秒刷新一次。是否有任何方法只能更新标签?