javascript - 更新面板和 JavaScript Hack 中的重复按钮

标签 javascript asp.net user-controls updatepanel

关于我的问题,

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/

相关文章:

javascript - Watchify 不发出更新事件

javascript - 如何使用 javascript 获取 gridview 控件的 <td> 元素内的元素值?

asp.net - 内联标记未在 ASP.NET 母版页中执行

javascript - 将应用程序 ID 动态传递给 fb.init()

java - 我有 spring mvc 和瓷砖。现在我需要用户控制

wpf - 资源字典样式对 UserControl 不可用

javascript - 如何在不使用库的情况下在 JavaScript 中的另一个元素之后插入一个元素?

javascript - 为什么不能按前向顺序删除样式?

c# - 按引用传递并存储对变量的引用 - C#

c# - asp.net如何计算数据表列的总和?