Chamando evento do lado do servidor no asp.net a partir do script java

Certamente será marcado como um duplicado, mas depois de toneladas de perguntas e exemplos, eu não poderia resolver o meu problema.
O que eu quero?
Chamando manipulador de eventos do lado do servidor em asp.net do script java do lado do cliente não está acontecendo no lado do servidor. Eu verifiquei, definindo ponto de interrupção, os movimentos de página, mas o método do lado do servidor não é chamado.
Meu evento de clique no código por trás é

  protected void btninsert_Click(object sender, EventArgs e)
  {
      // my code
  }

arquivo aspx

   <asp:Button ID="btninsert" runat="server" ValidationGroup="form" CssClass="btn"
      OnClientClick="DoPost()" Text="Save" />

O método Javascript é

   function DoPost() {
        function DoPost() {
        var chk = document.getElementById('<%= chkstatus.ClientID %>');
        if (chk.checked)
            __doPostBack('<%= btninsert.ClientID %>', 'OnClick');
        return true;
        //return false;
    } 
    } 

Eu também tentei isso__doPostBack('btninsert', 'OnClick'); e__doPostBack('btninsert', ''); e$('btnSubmit').trigger('click'); sem sucesso.

O que estou fazendo de errado?

Editar: Se eu usarOnClick evento, em seguida, ele vai no evento do lado do servidor, independentemente doif condition noDoPost método.

questionAnswers(6)

yourAnswerToTheQuestion