1

我有这种情况

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

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

一切都在 UpdatePanel 中

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

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

4

1 回答 1

1

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

这段代码在服务器端

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

这个在 aspx 上

<script>
function confirmSend() {
    var agree = confirm('confirm message');
    if (agree) {
         __doPostBack('btnSend', '');
   }
  }
</script>
于 2012-06-27T11:02:17.363 回答