1

关于我的问题,

更新面板中的 Page.Unload 事件

我能够使它工作,但我有两个按钮可以部分回发,然后在我的脚本中我可以做我想做的事,但我希望它只适用于一个按钮而不是其中两个,最好的是我想要的按钮使此请求适用于图像按钮,而其他按钮只是一个简单的按钮。顺便说一下,这是 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>
4

1 回答 1

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_ClickImageButton事件处理程序。

在您的EndRequestjavascript 函数中:

function EndRequest(sender, args) {
   // after update occur on UpdatePanel run the code.
   var hidIsTheButton = document.getElementById('<%=hidIsTheButton.ClientID%>');
   if (hidIsTheButton.Value == "1") {
       UnloadMsgBox();
   }
}
于 2012-11-23T17:22:20.857 回答