我已经找到了关于如何从代码隐藏执行javascript函数的其他解决方案。问题是它在页面加载之前触发,因此我无法为其添加逻辑。
if(result)
{
Page.ClientScript.RegisterClientScriptBlock(typeof(Page),
"Script", "confirmPwdChange();", true);
}
在客户端
<script>
confirmPwdChange()
{
alert("Password has been successfully changed.");
//Add more logic here, after user clicks the OK button...
}
</script>
如果可能的话,没有Jquery。
感谢您的帮助。
答案 0 :(得分:1)
我认为您正在寻找PageRequestManager
List of PageRequestManager events
var prm = Sys.WebForms.PageRequestManager.getInstance();
// beginRequest: before postback to server
prm.add_beginRequest(BeginRequestHandler);
// endRequest: after postback to server
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
// do stuff
}
function EndRequestHandler(sender, args) {
// do stuff
}
答案 1 :(得分:1)
您可能希望在脚本文件中包含window.onload。像这样......
StringBuilder script = new StringBuilder();
script.Append("var existingHandler = window.onload;");
script.Append("window.document.body.onload = function(){ confirmPwdChange(); if (existingHandler){ existingHandler()}}");
Page.ClientScript.RegisterClientScriptBlock(typeof(Page),
"Script", script.ToString(), true);
确保在页面加载时调用您的更改密码,并保留页面上已声明的任何其他现有处理程序。