自动刷新我的页面,以便不断检查if条件

时间:2016-11-10 21:16:09

标签: asp.net ajax

我有以下If条件。

if (entry.Status1 != string.Empty) // I want this condition to continue to be checked while the user is on the page. 
{
    lblStatus.Text = entry.Status2; 
}

我需要让我的页面不断自动重新加载/刷新,以便不断检查这个条件。我不希望用户必须刷新页面。我如何在ASP.Net中执行此操作?我使用Ajax吗?如果是这样,我如何以编程方式执行此操作?有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以UpdatePanel使用Timer

在aspx页面上。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
    <ContentTemplate>

        <asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick"></asp:Timer>

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <asp:Literal ID="lblStatus" runat="server"></asp:Literal>

    </ContentTemplate>
</asp:UpdatePanel>

在代码背后

protected void Timer1_Tick(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(TextBox1.Text))
    {
        lblStatus.Text = TextBox1.Text + " | " + DateTime.Now.ToString();
    }
}

您可以使用Interval="5000"设置计时器的间隔,单位为毫秒。

但你也在谈论monitor that runs and watches an activity。这听起来更像是在后台运行的任务。要制作在后台运行的复杂任务,我建议Quartz.NET