c# - Javascript 不适用于 ASP.NET 上的 Timer Tick 方法

标签 c# javascript asp.net

我有一个计时器,每 2 秒滴答一次并获取不断变化的百分比值,当它显示在标签中时效果很好。我想要同样的事情,但要使用 javascript 在消息框中显示,第一次显示正常,但当值更改时,警报弹出窗口中的值保持不变。

protected void TimerProgress_Tick(object sender, EventArgs e)
    {        
        percent = max_time.PercentGoalMetToday(i.ToString());  
        lbPercent.Text = percent; //WORKS
        JavaScriptMethod();
    }

    protected void JavaScriptMethod()
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<script type = 'text/javascript'>");
        sb.Append("function main(){");
        sb.Append("alert('");
        sb.Append(percent);
        sb.Append("')};");
        sb.Append("var myVar = setInterval(function () { main() }, 4000);");
        sb.Append("</script>");
        ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString());
    }

ASPX

   <asp:UpdatePanel ID="UpdatePanelProgressBar" runat="server">
    <ContentTemplate>
             <asp:Label ID="lblPercent" runat="server" Text="" CssClass="Percent"></asp:Label>  
   </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer" />
        </Triggers>
    </asp:UpdatePanel>
    <asp:Timer ID="Timer" Interval="2000" runat="server" OnTick="TimerProgress_Tick">
    </asp:Timer>

最佳答案

我将使用 SignalR 来实现此功能,SignalR 旨在让您的服务器与浏览器高效、实时地交换数据。

关于c# - Javascript 不适用于 ASP.NET 上的 Timer Tick 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222117/

相关文章:

c# - 如何在 C# 中创建一个只能有一个实例的类

javascript - 不卡住的 GulpJs 错误处理

javascript - Javascript 中的绑定(bind)函数会导致内存泄漏吗?

javascript - 在不使用任何其他库的情况下使用 reactJs 中的 id 滚动到特定的 div

c# - 为什么我的Gridview点击第2页后会消失(Paging)

c# - String.Format 未格式化电话号码

c# - 请求的操作超时已过期

c# - 如何在 C# 中的项目之间共享公共(public)代码?

c# - 尝试导出时 SharpSVN 异常弹出的原因似乎是随机的?

c# - 没有用户名的 ASP.NET 登录控件