我的申请表中有要求显示日期和时间。 我在我的.net应用程序中使用Ajax来执行此操作。
目前我有这段代码
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer ID="UpdateTimer" runat="server" Interval="1000" OnTick="UpdateTimer_Tick" />
<asp:UpdatePanel ID="TimedPanel" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="UpdateTimer" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label runat="server" ID="DateStampLabel" />
</ContentTemplate>
</asp:UpdatePanel>
刷新页面时,除了一秒钟的延迟之外,工作正常。我的问题是,这是实现这一目标的最佳方法吗?我也许可以逃脱不显示秒......这可能不是太重要。如果我这样做,我该怎么做?
这是代码隐藏......
Protected Sub UpdateTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
DateStampLabel.Text = DateTime.Now.ToString()
End Sub
谢谢!
答案 0 :(得分:1)
我不建议你这样做,因为每次你想要刷新定时器(每秒)你实际上是在点击服务器以显示定时器。显然,这种方法的性能影响是负面的
此外,您正在使用 evil UpdatePanel
,这意味着您每次都在执行整个页面生命周期。
如果您依赖客户端浏览器,则可以完成相同的行为:
$('#digital-clock').clock({offset: '0', type: 'digital'});
<ul id="digital-clock" class="digital">
<li class="hour"></li>
<li class="min"></li>
<li class="sec"></li>
<li class="meridiem"></li>
</ul>
参考: