参考我的问题,
Page.Unload Event inside a Update Panel
我能够使它工作,但我有两个按钮,部分回发,然后在我的脚本我可以做我想要的,但我希望它只工作一个按钮而不是两个,最好的是按钮我想让这个请求工作是图像按钮,而其他按钮只是一个简单的按钮。顺便说一下,这是ASP.NET中的用户控件。
<script type="text/javascript">
// if you use jQuery, you can load them when dom is read.
$(document).ready(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
});
function InitializeRequest(sender, args) {
}
function EndRequest(sender, args) {
// after update occur on UpdatePanel run the code.
UnloadMsgBox();
}
function UnloadMsgBox()
{
alert("Message");
}
</script>
答案 0 :(得分:2)
假设您有两种方法,一种称为button1_Click
,另一种称为imageButton1_Click
。我们在页面中添加一个HiddenField,如下所示:
<asp:HiddenField runat="server" ID="hidIsTheButton" value="0" />
在我们的button1_Click
方法中:
hidIsTheButton.Value = "0";
在我们的imageButton1_Click
方法中:
hidIsTheButton.Value = "1";
此处,button1_Click
引用您的标准按钮事件处理程序,imageButton1_Click
引用您的ImageButton
事件处理程序。
在EndRequest
javascript函数中:
function EndRequest(sender, args) {
// after update occur on UpdatePanel run the code.
var hidIsTheButton = document.getElementById('<%=hidIsTheButton.ClientID%>');
if (hidIsTheButton.Value == "1") {
UnloadMsgBox();
}
}