2016-01-03 68 views
0

你好社區的StackOverflow :)我剛開始學習和創建我的第一個Web應用程序與ASP.Net我不是專業的程序員或網頁設計師,但我找到一些視頻時,卡住了。今天我在這裏發帖,因爲我沒有找到任何解決我的問題。我的主頁上有一個登錄窗口小部件,它可以工作,但是當我在註冊頁面時,2個窗體(登錄窗口小部件和註冊表單)發生衝突。它實際上是由於Required字段驗證器發生的,當我嘗試登錄時,我處於我的註冊頁面中,所有必填字段驗證器都在註冊表單中觸發。當我嘗試進行註冊時,登錄窗口小部件中的RFV也會發生同樣的情況。那麼有沒有人知道我如何分離這兩種形式的代碼(C#)?謝謝大家的閱讀,祝你有個美好的一天:)ASP.Net雙Web表單提交衝突

+0

可以顯示代碼嗎? – BNN

回答

0

這是我的註冊碼:`MySql.Data.MySqlClient.MySqlConnection conn; MySql.Data.MySqlClient.MySqlCommand cmd; MySql.Data.MySqlClient.MySqlCommand com; String queryStr; 字符串checkuser; 保護無效的Page_Load(對象發件人,EventArgs的){

} 
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

0

固定! - 對於遇到同樣問題的人請轉至您的驗證控制並添加ValidateGroup="XXXX or whatever you want"。將此更改應用於所有驗證控件和您的提交按鈕:)