【问题标题】:Event with confirm lost after postback raised for other control为其他控件引发回发后确认丢失的事件
【发布时间】:2012-06-25 15:04:42
【问题描述】:

我有这种情况

带有 AutoPostBack=true 的文本框和用于管理文本更改的服务器端代码。

带有服务器端设置确认和代码管理的按钮。 btnSend.Attributes.Add("onClick", "return Confirm('Confirm message')"); ……

一切都在更新面板中

当用户在 TextBox 上书写并且没有离开文本框焦点时,单击按钮,出现确认,并在 inputTextAnswer_TextChanged 后面引发并执行。然后页面已处理回发,因此如果用户在确认时单击“确定”,则不会执行任何操作。用户需要再次点击才能真正执行按钮代码。

有没有办法运行 inputTextAnswer_TextChanged 代码(应该先执行)然后是按钮代码。重要提示:并不总是应该一个接一个地执行,只是当用户填写文本框字段然后单击按钮时

【问题讨论】:

    标签: asp.net events updatepanel postback confirm


    【解决方案1】:

    好的,如果有人有同样的问题,我的解决方案。而不是留下与返回按钮相关联的确认,只需通过javascript手动执行回发。然后执行文本框更改事件,当用户单击“确定”时,我们强制回发并执行按钮代码。

    服务器端的这段代码

    btnSend.Attributes.Add("onClick", "confirmSend();");
    

    这个在 aspx 上

    <script>
    function confirmSend() {
        var agree = confirm('confirm message');
        if (agree) {
             __doPostBack('btnSend', '');
       }
      }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 2010-11-18
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多