Updatepanel内のポストバック後にjavascriptイベントを実行するにはどうすればよいですか
ClientScriptManagerを使用して、リロード時に関数を呼び出すことができます。
ClientScriptManager.RegisterStartupScript(this.GetType(), "AKey", "MyFunction();", true);
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>
単に
<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がトリガーされるたびに呼び出され続けます
これを試して:
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});
UpdatePanel内で使用するには、 ScriptManager.RegisterStartupScript を使用します。