我将这些代码作为我的用户名和电子邮件验证(如果它们存在于数据库中)。到目前为止,我能够使它们工作(验证确实出现)但是,即使例如用户名存在,我点击提交,仍然推动?我在这里失踪了什么?
protected void txtUser_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtUser.Text))
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand("Select * from UserData where Username=@Username", conn);
cmd.Parameters.AddWithValue("@Username", txtUser.Text);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
lblusercheck.Text = "Username exists";
lblusercheck.ForeColor = System.Drawing.Color.Red;
imgstatus.Visible = true;
imgstatus.ImageUrl = "Images1/work/NotAvailable.png";
}
else
{
lblusercheck.Text = "Username available!";
lblusercheck.ForeColor = System.Drawing.Color.LimeGreen;
imgstatus.Visible = true;
imgstatus.ImageUrl = "Images1/work/Available.png";
}
conn.Close();
}
}
protected void txtEmail_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtEmail.Text))
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand("Select * from UserData where Email=@Email", conn);
cmd.Parameters.AddWithValue("@Email", txtEmail.Text);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
lblemailcheck.Text = "Email already used";
lblemailcheck.ForeColor = System.Drawing.Color.Red;
ImageEmail.Visible = true;
ImageEmail.ImageUrl = "Images1/work/NotAvailable.png";
}
else
{
lblemailcheck.Text = "Email Approved";
lblemailcheck.ForeColor = System.Drawing.Color.LimeGreen;
ImageEmail.Visible = true;
ImageEmail.ImageUrl = "Images1/work/Available.png";
}
conn.Close();
}
这是我的提交按钮代码:
protected void btn_Registration_Click(object sender, EventArgs e)
{
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
string insertQuery = "insert into UserData(Username,Firstname,Lastname,Email,Password,CustomerType,DeliveryAddress,Zip,ContactNumber)values(@Username,@Firstname,@Lastname,@Email,@Password,@CustomerType,@DeliveryAddress,@Zip,@ContactNumber)";
SqlCommand scm = new SqlCommand(insertQuery, conn);
scm.Parameters.AddWithValue("@Username", txtUser.Text);
scm.Parameters.AddWithValue("@Firstname", txtFN.Text);
scm.Parameters.AddWithValue("@Lastname", txtLN.Text);
scm.Parameters.AddWithValue("@Email", txtEmail.Text);
scm.Parameters.AddWithValue("@Password", BusinessLayer.ShoppingCart.CreateSHAHash(txtPW.Text));
scm.Parameters.AddWithValue("@CustomerType", RadioButtonList1.SelectedItem.ToString());
scm.Parameters.AddWithValue("@DeliveryAddress", txtAddress.Text);
scm.Parameters.AddWithValue("@Zip", txtZip.Text);
scm.Parameters.AddWithValue("@ContactNumber", txtContact.Text);
scm.ExecuteNonQuery();
Session["Contact"] = txtContact.Text;
Session["Email"] = txtEmail.Text;
Session["DeliveryAddress"] = txtAddress.Text;
label_register_success.Text = ("Registration Successful!");
//Response.Redirect("Home.aspx");
conn.Close();
}
catch (Exception ex)
{
Response.Write("Error:" + ex.ToString());
}
}