c#更新当前时间,日期,日期

时间:2011-09-28 02:29:15

标签: c# asp.net

protected void Page_Load(object sender, EventArgs e)
{
    todayDate.Text=DateTime.Now.toString();
}

输出

  

2011年9月28日上午10:28

当前时间永远不会更新,结果是静态的,如何在c#中设置间隔以更新当前时间?

更新信息

这是我的ajax更新计时器代码

  <ajax:ToolkitScriptManager ID="scriptmanager1" runat="server">

       

    <asp:UpdatePanel runat="server" id="TimedPanel" updatemode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
        </Triggers>
        <ContentTemplate>
            <asp:Label runat="server" id="DateStampLabel" />

我使用

调用它
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
    DateStampLabel.Text = DateTime.Now.ToString() + "  "+DateTime.Today.DayOfWeek.ToString(); 


}

输出正是我想要的,但效果并不完全是我想要的,因为当用户点击某个按钮时,标签会闪烁,这就像告诉用户页面正在重新加载,所以我想知道任何想法都可以从服务器提供更新时间?或者只是刷新部分页面?

3 个答案:

答案 0 :(得分:2)

它不更新的原因是因为ASP.Net是生成HTML的服务器代码,它在浏览器中显示。

浏览器向您的服务器发送请求,服务器在其中一个线程上执行您的页面逻辑,您的代码生成输出(在您的情况下,设置today.Data.Text在输出缓冲区中创建html),响应被发送到客户端,浏览器显示该html。你完成了。请求已经完成。

您需要继续刷新该页面(糟糕的 - 旧的完全刷新服务器生成的页面模型)或者具有在浏览器中运行的JavaScript代码。检查Ajax模式。

希望能够深入了解原因:)

答案 1 :(得分:0)

使用Ajax Extension控件(UpdatePanel, Timer)。

答案 2 :(得分:0)

正如所建议的那样,如果这是您的意图,您需要使用客户端脚本来实时更新值。搜索“JavaScript时钟”或“Ajax时钟”应该会给你一些cut-n-paste代码,或者在他们的工具包中查看一些Ajax示例。