在Timer的Tick事件中注册客户端脚本

时间:2013-02-27 13:28:09

标签: c#

我正在尝试在计时器的刻度事件中注册脚本,但没有发生任何事情,

protected void UpdateTimer_Tick(object sender, EventArgs e)
        { 
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "ShowDialog()", true);
        }

也试过ScriptManager.RegisterStartupScript,但它不起作用。尝试调用简单警报但不能正常工作。

1 个答案:

答案 0 :(得分:2)

RegisterClientScriptBlock仅在页面首次加载时才有效。在服务器上的后台线程上调用时,您不可能期望它能够正常工作。

您需要注册启动计时器客户端的客户端脚本块 - 查看javascript setTimeout。

e.g。在页面加载

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "window.setTimeout(ShowDialog, 1000);", true);

或带参数......

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "window.setTimeout(function(){ShowDialog(arg1,arg2);}, 1000);", true);