ASP.net button onserverclick only works when onclick isn't defined

前端 未结 5 1272
南旧
南旧 2020-12-01 22:40
    protected void btnNext_Click(object sender, EventArgs e)
    {
        btnNext.InnerHtml = \"CLICK\";
    }

    
相关标签:
5条回答
  • 2020-12-01 23:05

    try without 'return': <button type="submit" runat="server" onserverclick="btnNext_Click" onclick="checkForm();" id="btnNext">Next &gt;</button>
    Or if you wanted checkForm() to control whether to post or not - do like this:

    onclick="if (!checkForm()) return;"
    
    0 讨论(0)
  • 2020-12-01 23:06

    Try this:

    onclick="javascript:if (!validaForm()) return false;"
    

    It worked for me.

    0 讨论(0)
  • 2020-12-01 23:21

    The reason you're seeing this is because when you have both on a button it runs your on click handler followed by the __doPostBack function so the onclick would look something like this

    onclick="return checkForm(); __doPostBack('btnNext','')

    So as you can see the __doPostBack, which actually sets up which server function to call, is never called. However, since the button is of type submit, the form is still sent back to the server.

    0 讨论(0)
  • 2020-12-01 23:23

    Front End

      <button  id="submit1" runat="server"  
                  onclick="if(confirm('Sure?')) { } else{ return false} ;"                       onserverclick="submit_ServerClick"  >save</button>
    

    Back End

     protected void submit_ServerClick(object sender, EventArgs e)
     {
     }
    
    0 讨论(0)
  • 2020-12-01 23:24

    Can you try with LinkButton:

    <asp:LinkButton type="submit" runat="server" onserverclick="btnNext_Click" onclick="return checkForm();" id="btnNext">Next &gt;</asp:LinkButton>
    
    0 讨论(0)
提交回复
热议问题