Запустите функцию JavaScript после обратной передачи - PullRequest
38 голосов
/ 19 ноября 2010

Как запустить событие javascript после обратной передачи внутри панели обновления

Ответы [ 5 ]

69 голосов
/ 19 ноября 2010

Вы можете использовать endRequest событие PageRequestManager.

<form id="form1" runat="server">
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>   
            <asp:Button runat="server" Text="Button" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>
<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function (s, e) {
        alert('Postback!');
    });
</script>
25 голосов
/ 19 ноября 2010

Вы можете использовать ClientScriptManager для вызова функции при перезагрузке:

ClientScriptManager.RegisterStartupScript(this.GetType(), "AKey", "MyFunction();", true);

http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

11 голосов
/ 17 июля 2014

Просто

<script type="text/javascript"> 
    function pageLoad() { 

  } 
</script>

<asp:ScriptManager runat="server" />

<asp:UpdatePanel runat="server"> 
  <ContentTemplate> 
    <asp:Button runat="server" ID="Button1" /> 
    <asp:Literal runat="server" ID="TextBox1" /> 
 </ContentTemplate> 
</asp:UpdatePanel>

pageLoad () будет вызываться каждый раз при срабатывании Button1

Читать это Дейв Уорд

4 голосов
/ 12 апреля 2014

Попробуйте это:

$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});
1 голос
/ 19 ноября 2010

Для использования в UpdatePanel я бы использовал ScriptManager.RegisterStartupScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...