Ho un modulo d'iscrizione, diviso in vari step; uno di questi contiene quattro campi:


1. Username
2. Password
3. Conferma password
4. Email


Per quanto riguarda i campi 2 e 3 nessun problema, mentre per gli altri due, prima dell'inserimento vero e proprio dei dati nel db devo verificarne l'univocità. Al momento sto sviluppando questa soluzione:


NewUser.aspx
codice:
<asp:Panel ID="pnlAccount" runat="server">
            Dati account:<br />
            <table class="auto-style1">
                <tr>
                    <td class="auto-style11">Username:*</td>
                    <td class="auto-style3">
                        <asp:TextBox ID="txtUsername" runat="server" OnTextChanged="txtUsername_TextChanged" AutoPostBack="True"></asp:TextBox>
                        <asp:Label ID="lblUsername" runat="server"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td class="auto-style10">Password:*</td>
                    <td>
                        &nbsp;<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td class="auto-style10">Conferma password:</td>
                    <td>
                        <asp:TextBox ID="txtConfPassword" runat="server" TextMode="Password"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td class="auto-style10">Email:</td>
                    <td>
                        <asp:TextBox ID="txtEmail" runat="server" OnTextChanged="txtEmail_TextChanged"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td class="auto-style10" colspan="2">
                        <asp:Button ID="btnRegister" runat="server" OnClick="btnRegister_Click" Text="Registra" />
                    </td>
                </tr>
            </table>
            &nbsp;<br />
            </asp:Panel>



NewUser.aspx.cs


codice:
 protected void btnRegister_Click(object sender, EventArgs e)
        {
            
            string Username = Request.Form["txtUsername"];
            string Password = Request.Form["txtPassword"];
            string AuthCode = Guid.NewGuid().ToString();
            string IdReg = Guid.NewGuid().ToString();
            string email = Request.Form["txtEmail"];
            string dataReg = DateTime.Now.Date.ToShortDateString();
            string oraReg = DateTime.Now.ToShortTimeString();
            string mailBody;
            string From = "no-reply@dominio.it";
            string oggetto = "Oggetto della mail";
            string bodyMail = "Corpo del messggio";


            MailMessage mailObj = new MailMessage(From, email, Username + ", conferma la tua iscrizione al XXXXX", "Il codice Authcode è: " + "<b>" + AuthCode + "</b>" + "<BR>");
            mailObj.IsBodyHtml = true;
            SmtpClient SMTPServer = new SmtpClient("localhost", 1214);
            
            
                SMTPServer.Send(mailObj);
           


            
            
            
            
            
        }


        public void txtUsername_TextChanged(object sender, EventArgs e)
        {
            //Codice per il controllo dell'univocità dell'username
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
            builder.DataSource = "localhost\\SQLExpress";
            builder.InitialCatalog = "tb";
            builder.IntegratedSecurity = true;
            string MailStatus;
            string UsernameStatus;


            


            SqlParameter pUsername = new SqlParameter();
            pUsername.ParameterName = "@Username";
            pUsername.DbType = DbType.String;
            pUsername.Direction = ParameterDirection.Input;
            pUsername.Value = txtUsername.Text;
            using (SqlConnection conn = new SqlConnection(builder.ConnectionString))
            {
                try
                {
                    conn.Open();
                }


                catch(Exception excMessage)
                {
                    Response.Write(excMessage.ToString());
                }


                using (SqlCommand cmqQuery = new SqlCommand("SELECT COUNT (*) FROM Tb_Account WHERE Username=@Username", conn))
                {
                    cmqQuery.Parameters.Add(pUsername);
                    int count = (int)cmqQuery.ExecuteScalar();
                    MailStatus = count.ToString();
                    lblUsername.Text = MailStatus;
                    if(MailStatus == "0")
                    {
                        btnRegister.Enabled = false;
                    }
                }
            }
        }


        protected void txtEmail_TextChanged(object sender, EventArgs e)
        {
            
            
            //Codice per il controllo dell'univocità dell'indirizzo email
        }
        
        
    }
}

Io vorrei fare in modo che SOLO se entrambe le condizioni vengono a verificarsi, ovvero che sia username che email non esistono, l'iscrizione avvenga. Singolarmente l'operazione mi riesce, perchè tramite il metodo ExecuteScalar() verifico la risposta alla query, ma volendo farlo per entrambe cosa mi consigliate di fare?