更新面板和JavaScript哈克在重复按钮(Duplicate buttons in Update

2019-10-17 10:17发布

在谈到我的问题,

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>

Answer 1:

假设你有两种方法,一种名为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 referes您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();
   }
}


文章来源: Duplicate buttons in Update Panel and JavaScript Hack