protected void timer1_Tick(object sender, EventArgs e)
{
foreach (RepeaterItem item in rpChat.Items)
{
TextBox txt = item.FindControl("txtChatMessage") as TextBox;
if (txt != null)
{
message[i] = txt.Text;
i--;
}
}
lblStatusChat.Text = "";
RepeaterBind();
string javaScript = "<script language=JavaScript>\n" + "alert('Button1_Click client-side');\n" + "</script>";
Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", javaScript);
}
timer_click
触发并更新面板。并且警报消息不会出现在timer_tick事件上
最佳答案
当您使用 UpdatePanel 时,您无法像您尝试的那样使用 ClientScript 调用 JavaScript。您必须使用 ScriptManager.RegisterStartupScript 来代替。
所以改变你的
Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", javaScript);
至
ScriptManager.RegisterStartupScript(updatePanelId,updatePanelId.GetType(), "alert", javaScript, true);
关于asp.net - RegisterStartupScript 不适用于 ScriptManager、Updatepanel。这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11643578/