C# 如何在标签中创建正在运行的当前日期时间
我对ASP.net C非常陌生。我设法在网上搜索如何在C标签中显示当前日期。出于某种原因,页面加载需要在webform中作为脚本实现,如果在codebehind中实现,则无法工作。我的问题是,只有当页面刷新时,时间才会改变。我需要时间随着系统时间的变化而变化。请帮帮我。提前谢谢 以下是获取当前日期和时间的代码: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
<%@ 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>
</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毫秒刷新一次。是否有任何方法只能更新标签?