防止JavaScript OnClick bind confirm()重写VB.NET单击处理程序

防止JavaScript OnClick bind confirm()重写VB.NET单击处理程序,javascript,vb.net,event-handling,Javascript,Vb.net,Event Handling,我必须解决分配给我的某些代码中的一个问题,问题是在页面中遵循此代码。initelsestatement: Me.SaveChangesButton.Attributes.Add("OnClick", "if (!confirm('Are you sure?')){ return false; } else { document.getElementById('SaveChangesButton').disabled = true;

我必须解决分配给我的某些代码中的一个问题,问题是在
页面中遵循此代码。init
else
statement:

Me.SaveChangesButton.Attributes.Add("OnClick", 
    "if (!confirm('Are you sure?')){
        return false;
     } else {
        document.getElementById('SaveChangesButton').disabled = true; 
        document.getElementById('rejectButton').disabled = true;
     }
")
覆盖此代码:

Protected Sub SaveChangesButton_Click(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles SaveChangesButton.Click
问题[已编辑]
  • 如何将
    confirm()
    绑定到按钮,使其不会覆盖
    处理程序
    函数
  • 在代码中,绑定它的最佳实践是什么
  • 如果删除第二部分
    else{document.getElementById('SaveChangesButton')。禁用=
    true;document.getElementById('rejectButton').disabled=true;}
    它工作正常,但我应该如何编写它以使它继续执行
    SaveChangesButton_单击
    ,因为我只了解第二部分重写处理程序
  • 如何执行这两行
    document.getElementById('SaveChangesButton')。disabled=true;
    document.getElementById('rejectButton')。disabled=true并仍然执行
    SaveChangesButton\u单击
    处理程序而不覆盖它?
  • 1) 你应使用:

    2) 如果您绑定
    SaveChangesButton\u单击
    页面.Init中的
    ,我也会将
    OnClientClick设置为

    3,4)在服务器端
    OnClick
    之前触发
    OnClick
    (当然)。这会使您在启动
    OnClick
    之前禁用按钮。并且,
    OnClick
    不会在禁用的按钮上触发。怎么办延迟禁用按钮

    Me.SaveChangesButton.OnClientClick = @"
    if (!confirm('Are you sure?')) {
        return false;
    } else {
        setTimeout(function(){
            document.getElementById('SaveChangesButton').disabled = true; 
            document.getElementById('rejectButton').disabled = true;
        }, 100);
    }"
    

    这实际上使您的问题与…

    重复,谢谢,刚刚测试的效果很好。但是仍然使用
    timeout
    感觉是错误的。一旦找到其他方法,请将其作为答案发布。我会很感兴趣的。
    Me.SaveChangesButton.OnClientClick = @"
    if (!confirm('Are you sure?')) {
        return false;
    } else {
        setTimeout(function(){
            document.getElementById('SaveChangesButton').disabled = true; 
            document.getElementById('rejectButton').disabled = true;
        }, 100);
    }"