簡體   English   中英

如何從后台代碼執行javascript函數,但僅在頁面加載后執行

[英]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

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM