关于我的问题,
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>
最佳答案
假设您有两种方法,一种称为 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();
}
}
关于javascript - 更新面板和 JavaScript Hack 中的重复按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13533388/