[英]How to link separated class for database operations in website in ASP.net with the pages.aspx
登錄頁面:用戶登錄時,應通過檢查數據庫中的表記錄來檢查密碼和用戶名是否正確。 因為我使用的是oop概念,所以為數據庫操作創建了一個單獨的類,但是我面臨一個大問題,即在數據庫類中看不到
Login.aspx
中的文本框。 與Registration.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; 名稱空間注冊{};
/// ////數據庫的摘要描述/// /// //命名空間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 ,
@ value2,@ value3,@ value4,@ value5,@ value6,@ value7)“,conn);
} }
和這個alogin.aspx代碼
`使用系統; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; 使用System.Web.UI; 使用System.Web.UI.WebControls;
公共局部類登錄:System.Web.UI.Page {受保護的無效Page_Load(對象發送者,EventArgs e){
} 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中,我無法使用創建用戶控件,因為我必須填寫特定字段,所以我不能依靠它來解決無法像我在登錄時那樣看到彼此的問題,盡管它不能正常工作好
我強烈建議使用MVP模式來分隔代碼,而不是數據庫類。 數據庫類將無法直接執行此操作。 您可以使用Nucleo MVP或WebFormsMvp之類的框架。 有關MVP模式的更多信息,請查看Dino Esposito的文章 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.