c#后台使用Page.ClientScript.RegisterStartupScript在前台注册一段脚本提示,发现没有效果,寻寻觅觅,终于从度娘处找到了原因:
该页面多次使用到了Page.ClientScript.RegisterStartupScript(Type type, string key, string script)
问题就出在了参数key上,同一页面会按顺序执行Page.ClientScript.RegisterStartupScript(Type type, string key, string script),如果key都为空或为相同的值,则会只执行第一个脚本,所以后面的就失效了。
Page.ClientScript.RegisterStartupScript(this.GetType(), "alertsuccess", "<script language='javascript'>SendSuccess();</script>");
/// <summary> /// 显示消息提示对话框 /// </summary> /// <param name="page">当前页面指针,一般为this</param> /// <param name="msg">提示信息</param> public static void Show(System.Web.UI.Page page, string msg) { //由于可能频繁调用,增加随机因子 2020-12-17 Random rnd = new Random(1200); page.ClientScript.RegisterStartupScript(page.GetType(), "message" + rnd.Next().ToString() + rnd.Next().ToString(), "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>"); }
转自:https://www.cnblogs.com/wufeng123/p/4459542.html