ASP.NET 的出現(xiàn)給web 程序設計帶來了一場革命,它具有windows 那種即見即所得的快捷,高度的封裝給程序設計降低了難度,豐富的界面控件提高了軟件設計的效率因而也縮短了開發(fā)周期,代碼隱藏和分離技術(shù)使的程序的可讀性和可維護性大大提高,加之ADO.NET數(shù)據(jù)庫訪問技術(shù),將windows的程序設計思想完全容入到web設計之中。下面是我使用其構(gòu)建一個系統(tǒng)整體構(gòu)架的簡單練習:
1、登錄頁面:
首先是一個登錄用戶的驗證,接著是一系統(tǒng)公告和一個跑馬燈的公告提示,最后是一些連接及版權(quán)說明。前臺完全用WebControls 來作,后臺使用C#編碼來實現(xiàn)用戶的登錄用戶名及密碼和數(shù)據(jù)庫中存儲的數(shù)據(jù)進行比較驗證,正確則登錄并且將用戶的userid和username 賦給全局變量Session["userid"]和Session["username"]以便在后面的頁面上驗證Session來判斷用戶是否一登錄,將頁面定向到Index.aspx,若驗證用戶名或密碼失敗則給出響應的提示信息,實現(xiàn)代碼如下:
private void imgbtnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
? {
? //判斷用戶名、密碼是否錄入
? ?string username = txtUserName .Text .Trim ();
? ?string userpasw = txtPassword .Text .Trim ();
? ?string SqlUser????= "select * from Users??where UserID = '" + username + "'";
? ?DataSet UserDtset = new DataSet();
? ?UserDtset?????????= login.GetDataSet (SqlUser);???
? ?//判斷用戶名是否存在
? ?int SqlCount??????= UserDtset.Tables[0].Rows.Count;
? ?if (SqlCount == 0)
? ?{
? ? ShowMessage("用戶名不存在,請重新錄入!",Page);
? ? return;?????
? ?}
? ?//判斷密碼是否正確
? ?string passwd = UserDtset.Tables[0].Rows[0]["password"].ToString();
? ?if (passwd != userpasw)
? ?{
? ? ShowMessage("密碼不正確,請重新錄入!",Page);
? ? return;
? ?}
? ?//賦給全局變量值
? ?Session["UserID"]=UserDtset .Tables [0].Rows [0]["UserID"].ToString ();
? ?Session ["UserName"]=UserDtset .Tables [0].Rows [0]["Name"].ToString ();
? ?Response .Redirect ("index.aspx");
}
//提示信息
? private void ShowMessage(string MsgText,System.Web.UI.Page PageObject)
? {???
? ?StringBuilder SList = new StringBuilder();
? ?SList.Append("<script language =javascript>
");
? ?SList.Append("alert('"+MsgText +"');
");
? ?SList.Append("</script>");
? ?PageObject.RegisterStartupScript("",SList.ToString());???????
? }
login.aspx中的其它部分 如:公告使用控件DataGrid將數(shù)據(jù)庫中的數(shù)據(jù)讀出來即可。
2、Index.aspx頁面是程序的主頁面 主要包括三部分 頂部一個Banner 、左邊是一個TreeVew、右邊是用于顯示的主操作區(qū),左邊的Treeview 主要用于導航,這個一面主要使用的Fram 將幾個頁面拼接起來形成一個頁面 后臺代碼:
private void Page_Load(object sender, System.EventArgs e)
? {
? ?if(!IsPostBack)
? ?{
? ? if(Session ["UserName"]==null )//斷Session若為空則跳轉(zhuǎn)到登錄頁面
? ? ? ?Response .Redirect ("Check.aspx");
? ?}
? }
這里使用了一個驗證頁面Check.aspx 若用戶沒有登錄或者是Session超時都會轉(zhuǎn)到此頁面后三秒鐘后轉(zhuǎn)到登錄頁面,次頁面有有提示信息:沒有登錄或者登錄超時請重新登錄;
3、我的需求和我提出的需求頁面 主要是由主細目組成 都可以使用控件綁定數(shù)據(jù)庫來完成,比較簡單不再詳述。
本文摘自 :https://blog.51cto.com/u