[英]How to execute javascript function from code-behind but only after the page loads
我已經找到了關於如何從后台代碼執行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。
感謝您的幫助。
我認為您在尋找PageRequestManager
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
}
您可能希望在腳本文件中包含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);
這樣可以確保在頁面加載時調用您的更改密碼,並保留頁面上已經聲明的任何其他現有處理程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.