ASP.NET 快速構建應用程式頁面主架構
最後更新:2018-12-07
來源:互聯網
上載者:User
ASP.NET 的出現給web 程式設計帶來了一場革命,它具有windows 那種即見即所得的快捷,高度的封裝給程式設計降低了難度,豐富的介面控制項提高了軟體設計的效率因而也縮短了開發週期,程式碼後置和分離技術使的程式的可讀性和可維護性大大提高,加之ADO.NET資料庫訪問技術,將windows的程式設計思想完全容入到web設計之中。下面是我使用其構建一個系統整體構架的簡單練習:
1、登入頁面:
首先是一個登入使用者的驗證,接著是一系統公告和一個跑馬燈的公告提示,最後是一些串連及著作權說明。前台完全用WebControls 來作,後台使用C#編碼來實現使用者的登入使用者名稱及密碼和資料庫中儲存的資料進行比較驗證,正確則登入並且將使用者的userid和username 賦給全域變數Session["userid"]和Session["username"]以便在後面的頁面上驗證Session來判斷使用者是否一登入,將頁面定向到Index.aspx,若驗證使用者名稱或密碼失敗則給出響應的提示資訊,實現代碼如下:
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>\n");
SList.Append("alert('"+MsgText +"');\n");
SList.Append("</script>");
PageObject.RegisterStartupScript("",SList.ToString());
}
login.aspx中的其它部分 如:公告使用控制項DataGrid將資料庫中的資料讀出來即可。
2、Index.aspx頁面是程式的首頁面 主要包括三部分 頂部一個Banner 、左邊是一個TreeVew、右邊是用於顯示的主操作區,左邊的Treeview 主要用於導航,這個一面主要使用的Fram 將幾個頁面拼接起來形成一個頁面 後台代碼:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
if(Session ["UserName"]==null )//斷Session若為空白則跳轉到登入頁面
Response .Redirect ("Check.aspx");
}
}
這裡使用了一個驗證頁面Check.aspx 若使用者沒有登入或者是Session逾時都會轉到此頁面後三秒鐘後轉到登入頁面,次頁面有有提示資訊:沒有登入或者登入逾時請重新登入;
3、我的需求和我提出的需求頁面 主要是由主細目組成 都可以使用控制項綁定資料庫來完成,比較簡單不再詳述。