web-dev-qa-db-ja.com

ポストバック後にjavascript関数を実行する

Updatepanel内のポストバック後にjavascriptイベントを実行するにはどうすればよいですか

38
Kimtho6

ClientScriptManagerを使用して、リロード時に関数を呼び出すことができます。

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

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

25
Paddy

endRequestPageRequestManagerイベントを使用できます。

<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>
70
Mehdi Golchin

単に

<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がトリガーされるたびに呼び出され続けます

デイブ・ウォードがこれを読む

11
Mina Gabriel

これを試して:

$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});
4
M.Mohammadi

UpdatePanel内で使用するには、 ScriptManager.RegisterStartupScript を使用します。

1
Tim B James