我正在尝试在计时器的刻度事件中注册脚本,但没有发生任何事情,
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "ShowDialog()", true);
}
也试过ScriptManager.RegisterStartupScript
,但它不起作用。尝试调用简单警报但不能正常工作。
答案 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);