2014-02-19 23 views
0

登錄頁面:當用戶登錄時我應該檢查密碼和用戶名是否通過檢查表記錄是否爲真 在數據庫中。 因爲我正在使用oop概念,我爲 數據庫操作創建了一個單獨的類,但是我面臨一個很大的問題,即在數據庫類中無法看到 Login.aspx中的文本框。與 Registration.aspx我想要插入新用戶的數據,但我不能 看到文本框採取其中的字符串添加任何幫助或任何方式鏈接到這些類在 數據庫。如何鏈接ASP.net中網頁數據庫操作的分隔類與pages.aspx

這裏是我的數據庫類代碼

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using 

System.Data.SqlClient的;使用System.Configuration;使用 System.Data.Sql;使用System.Data;使用System.Web.UI.WebControls; namespace Registration {};

/// /// DataBase的簡介/// /// // namespace Login.aspx {};公共類DataBase {SqlDataReader rdr = null;公共SqlCommand cmd_insert; public String USer =「」; public String Pass =「」;

SqlConnection conn = null; 

Login log = new Login(); 







public void Read_record() 
{ 
    try 
    { 

     //string ID = Request.QueryString["id"]; 



     conn = new SqlConnection("Data Source=SHIMOFCIS-PC\\MYSQL;Initial Catalog=WebSite;Integrated 

安全= SSPI 「);

 SqlCommand cmd; 
     conn.Open(); 


     cmd = new SqlCommand("select UserName,Password from Users ", conn); 



     rdr = cmd.ExecuteReader(); 

     //using (var reader = cmd.ExecuteReader()) 
     //{ 
      if (rdr.Read()) // you don't need while loop 
      { 

       USer = rdr["UserName"].ToString(); 
       Pass = rdr["Password"].ToString(); 
       if (USer == log.UserName && Pass == log.Password) 
       { 
        rdr.Close(); 
        conn.Close(); 

       } 




      } 



     //} 



    } 

    finally 
    { 
     // close the reader 
     if (rdr != null) 
     { 


      rdr.Close(); 
     } 
     // 5. Close the connection 
     if (conn != null) 
     { 
      conn.Close(); 

     } 
    } 

} 
public void Insert_rows() 
{ 


    conn = new SqlConnection("Data Source=SHIMOFCIS-PC\\MYSQL;Initial Catalog=WebSite;Integrated 

安全= SSPI」);

conn.Open(); 

    cmd_insert = new SqlCommand("INSERT INTO Users (UserName,Password,FullName,Address,Mobile,Email) VALUES (@value1 , 

@值2,值3 @,@ VALUE4,@值5,@ value6,@ value7)」,康涅狄格州);

} } 

和使用本系統alogin.aspx代碼

` ;採用System.Collections.Generic;使用 System.Linq的;使用的System.Web;使用的System.Web.UI;使用 System.Web.UI.WebControls;

公共部分類登錄: System.Web.UI.Page { 保護無效的Page_Load(對象發件人,EventArgs的){

} 

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) 

{ 

     DataBase db = new DataBase(); 
     db.Read_record(); 
     if (db.USer == Login1.UserName && db.Pass == Login1.Password) 
     { 

      Response.Redirect("~/Home.aspx?UserName=" + Login1.UserName); 

     } 



} }` 

和regestration.aspx我不能用創建的用戶控件怎麼一回事,因爲我 要做的特定字段填寫所以我不能依靠它來 解決不seein每個像我的問題在登錄做,它雖然 不工作

+0

你的代碼在哪裏!?你嘗試過什麼,確切的問題是什麼。 – Seany84

+0

當然,「獨立」類無法在頁面上「查看」文本框。你問如何將參數傳遞給類方法?請發佈您的代碼。 – sh1rts

+0

請勿對代碼使用「引號」。使用{}或僅縮進4.你的代碼是不可讀的。 –

回答

0

我會強烈建議使用MVP模式分開的代碼以及安靜而不是數據庫類。數據庫類將無法直接執行。您可以使用像Nucleo MVPWebFormsMvp這樣的框架。有關MVP模式的更多信息,請查看Dino Esposito's article

+0

並且在註冊網頁中有另一個問題,用戶必須有兩種語言才能選擇其中一種語言,但是我沒有任何想法如何做到這一點如何通過點擊任何兩種語言按鈕來改變頁面語言So我沒有寫任何代碼,我不知道在html文件或page.aspx.cs中寫什麼......有幫助 – user3275745