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

How to create a running current DateTime in a Label

我是 ASP.net C# 的新手。我设法在线搜索如何在 C# 标签中显示当前日期。由于某种原因,Page_Load 需要在网络表单中作为脚本实现,如果在代码隐藏中实现则不起作用。我的问题是时间仅在刷新页面时发生变化。我需要时间随着系统时间的变化而变化。请帮我。提前致谢。

这是我获取当前日期和时间的代码:

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