我必须在我的项目上显示日期和计时器。我正在使用代码:
<asp:ScriptManager ID="sc2" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="UpdateTimer" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Timer ID="UpdateTimer" runat="server" OnTick="UpdateTimer_Tick" Interval="1000"></asp:Timer>
<asp:Label runat="server" ID="DateStampLabel"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
但是当我在当地跑步时。它每秒回发一次,然后定时器停止。任何纠正代码的想法。
C#代码:
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
DateStampLabel.Text = DateTime.Now.ToString();
}
答案 0 :(得分:3)
我不确定您的代码有什么问题,但如果可以帮助您,请尝试以下代码。
take(1)
答案 1 :(得分:0)
我通过以下代码获得了示例
的.aspx:
<html>
<head>
</head>
<body>
<form id="frm" runat="server">
<asp:ScriptManager ID="sc2" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="UpdateTimer" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Timer ID="UpdateTimer" runat="server" OnTick="UpdateTimer_Tick" Interval="1000"></asp:Timer>
<asp:Label runat="server" ID="DateStampLabel"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
.aspx.cs
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
DateStampLabel.Text = DateTime.Now.ToString();
}
如果页面在回发期间刷新,可能是因为页面上有一些javascript错误,有时其他部分的javascript异常会破坏.NET异步回发。如果您的标签未更新,您可能需要检查Response.Write
/ Response.Filter
事件中是否有Server.xxx
,Page_Load
,Tick
,因为ajax返回您写入回复的任何内容,您可能会遇到The message received from the server could not be parsed.
消息。