ScriptManager.RegisterStartupScript
执行脚本但它永远不会
执行脚本注册:
ScriptManager.RegisterStartupScript(
this,
this.GetType(),
"CloseEdit",
"CloseEditModal();",
true
);
谢谢,Damien。
答案 0 :(得分:2)
ScriptManager.RegisterStartupScript Method (Control, Type, String, String, Boolean)
的文档(我假设您使用此重载)说:
启动脚本块 使用这种方法注册的是 仅在控件时发送到页面 注册块是 在
UpdatePanel
控件内部 正在更新。
我假设您从用户控件中调用ScriptManager.RegisterStartupScript
方法(如您所说,有一个更新面板)。这意味着方法的第一个参数不在正在更新的UpdatePanel
控件中,因此脚本块未注册。因此,将脚本注册更改为:
ScriptManager.RegisterStartupScript(
btnUpdate,
btnUpdate.GetType(),
"CloseEdit",
"CloseEditModal();",
true
);
应该解决你的问题。 btnUpdate
此处是UpdatePanel
内部导致回发的按钮(您在第2段中提及此内容)。