ASP.Net双Web表单提交冲突



你好,StackOverflow社区:)我刚刚开始学习并创建我的第一个使用ASP.Net的web应用程序。我不是专业的程序员或web设计师,但当我陷入困境时,我会发现一些视频。今天我在这里发帖是因为我没有找到任何东西来解决我的问题。我的主页上有一个登录小部件,它可以工作,但当我在注册页面时,两个表单(登录小部件和注册表单)发生冲突。事实上,这是因为Required字段验证器,当我尝试登录并且我在注册页面时,所有必需的字段验证器都会在注册表单中触发。当我尝试注册时,登录小部件中的RFV也会发生同样的情况。那么,有人知道如何分离这两种形式的代码(C#)吗?感谢大家阅读本文。祝大家今天愉快:)

这是我的注册代码:`MySql.Data.MySqlClient.MySqlConnection conn;MySql.Data.MySqlClient.MySqlCommand cmd;MySql.Data.MySqlClient.MySqlCommand.com;字符串queryStr;字符串checkuser;protected void Page_Load(对象发送方,EventArgs e){

}
protected void Button1_Click(object sender, EventArgs e)
{
    String connString = System.Configuration.ConfigurationManager.ConnectionStrings["AccountDB"].ToString();
    conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
    conn.Open();
    string checkuser = "SELECT count(*) FROM account.account WHERE login='" + Username.Text + "'";
    com = new MySql.Data.MySqlClient.MySqlCommand(checkuser, conn);
    int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
    if (temp == 1)
    {
        Labeluser.Text = "Αυτό το Όνομα χρήστη υπάρχει ήδη!";
        conn.Close();
    }
    else
        CreateAccount();
}
private void CreateAccount()
{
    try
    {
        String connString = System.Configuration.ConfigurationManager.ConnectionStrings["AccountDB"].ToString();
        conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
        conn.Open();
        queryStr = "";
        queryStr = "INSERT INTO account.account (login,password,real_name,social_id,email,question1,answer1,status,gold_expire,silver_expire,safebox_expire,autoloot_expire,fish_mind_expire,marriage_fast_expire,money_drop_rate_expire,coins) VALUES ('" + Username.Text + "' ,'" + pass1.Text + "' ,'" + realname.Text + "' ,'" + delete.Text + "' ,'" + mail1.Text + "' ,'" + secq.Text + "' ,'" + seca.Text + "' ,'BLOCK' ,'2099-12-31 23:59:59' ,'2099-12-31 23:59:59' ,'2099-12-31 23:59:59' ,'2099-12-31 23:59:59' ,'2099-12-31 23:59:59' ,'2099-12-31 23:59:59' ,'2099-12-31 23:59:59' ,'0')";
        cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, conn);
        cmd.ExecuteReader();
        regPar.Text = "Η εγγραφή σου ολοκληρώθηκε με επιτυχία! Ένα E-Mail ενεργοποίησης έχει σταλεί στον φάκελο «Εισερχόμενα» (ή «Ανεπυθήμητα») της διεύθυνσης E-Mail που δήλωσες.";
        regForm.Visible = false;
        regBot.Visible = false;
        conn.Close();
    }
    catch (Exception ex)
    {
        Labeluser.Text = "Σφάλμα εγγραφής! Ίσως αυτά βοηθήσουν:" + ex.ToString();
    }
}`

这是我的主页(loginwidget)代码:

 MySql.Data.MySqlClient.MySqlConnection conn;
MySql.Data.MySqlClient.MySqlCommand cmd;
MySql.Data.MySqlClient.MySqlDataReader reader;
String queryStr;
String name;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LoginW_Click(object sender, EventArgs e)
{
    String connString = System.Configuration.ConfigurationManager.ConnectionStrings["AccountDB"].ToString();
    conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
    conn.Open();
    queryStr = "";
    queryStr = "SELECT * FROM account.account WHERE login='" + User.Text + "' AND password='" + Pass.Text + "'";
    cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, conn);
    reader = cmd.ExecuteReader();
    name = "";
    while (reader.HasRows && reader.Read())
    {
        name = reader.GetString(reader.GetOrdinal("real_name"));
    }
    if (reader.HasRows)
    {
        Session["uname"] = name;
        Response.BufferOutput = true;
        Response.Redirect("Account/Panel.aspx", false);
    }
    else
    {
        loginWidLab.Text = "Μη έγκυρο Όνομα χρήστη ή Κωδικός πρόσβασης!";
    }
    reader.Close();
    conn.Close();
}

很抱歉这篇文章有任何错误,我还不知道如何使用堆栈溢出:p

固定!!!-对于那些有同样问题的人,请转到验证控制并添加ValidateGroup="XXXX or whatever you want"。将此更改应用于所有验证控件和提交按钮:)

最新更新