计时器在Asp.net中打勾?

时间:2011-11-30 05:58:54

标签: asp.net timer

什么是asp中的等价物? 它对我不起作用!

lbl_date.Text = FormatDateTime(Now, DateFormat.LongDate)
lbl_time.Text = FormatDateTime(Now, DateFormat.LongTime)

3 个答案:

答案 0 :(得分:2)

lbl_date.Text = DateTime.Now.ToLongDateString();
lbl_time.Text = DateTime.Now.ToLongTimeString();

答案 1 :(得分:1)

这里需要记住的是,你所有的vb代码都是生成一个html文档,而没有别的。一旦完成该工作,您正在处理的页面类甚至被发送到垃圾收集器,并且您所处理的处理器线程被重新用于提供另一个http请求。因此,尝试根据计时器事件设置标签只是简单的事情 - 您的计时器可能会在它有机会打勾之前被处置。

相反,你想在javascript中做这个特定的工作。查看javascript的setTimeout()方法。

答案 2 :(得分:1)

ASP.NET中没有Timer控件,但是AJAX计时器。

在这种情况下,您必须将这些标签放在AJAX更新面板中,如下所示

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Timer ID="Timer1" runat="server" Interval="2000" OnTick="Timer1_Tick">
        </asp:Timer>
        <asp:Label ID="lbl_date" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="lbl_time" runat="server" Text="Label"></asp:Label>
    </ContentTemplate>
</asp:UpdatePanel>

并在Timer1_Tick事件放置

后面的代码中
lbl_date.Text = FormatDateTime(Now, DateFormat.LongDate)
lbl_time.Text = FormatDateTime(Now, DateFormat.LongTime)

这应该有用..