freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)上書店管理信息系統(tǒng)設(shè)計計劃書-資料下載頁

2025-08-04 04:51本頁面
  

【正文】 ssion[user_id]!=null)7 {8 User user=new User()。9 ((Session[user_id]))。10 =您好,font color=redb++/font/b。1112 =離開。13 }14 else15 =登錄。16 } 通過在第6行檢查Session變量中是否已經(jīng)存在“user_id”。如果存在,則說明用戶已經(jīng)登錄,那么LinkButtonLogin的Text屬性設(shè)置為“離開”,并且在標(biāo)簽LabelHello中輸出“你好,***”。如果Session變量“user_id”為空,那么LinkButtonLogin的Text屬性設(shè)置為“離開”。同樣,在不同的情況下,Link ButtonLogin的單擊事件也將執(zhí)行不同的動作。代碼124 “登錄”/“離開”單擊事件:\UserControls\/// summary /// 登錄或者離開 /// /summary /// param name=sender/param /// param name=e/param protected void LinkButtonLogin_Click(object sender, e) { if(==登錄) { (?in=1)。 } else { Session[user_id]=null。 (Script Language=JavaScript()。/Script)。 } }代碼根據(jù)LinkButton的Text屬性執(zhí)行不同的跳轉(zhuǎn),即如果按鈕顯示為“登錄”,將跳轉(zhuǎn)到登錄界面Login.a(chǎn)spx;否則,將注銷掉Session中的“user_id”對象,然后關(guān)閉頁面。 用戶驗證自定義控件 在上一章中,使用了一個CheckUser方法,在每一個需要控制非法用戶登錄的頁面上進(jìn)行檢查,本例則使用用戶檢查自定義控件來實現(xiàn)同樣的功能。 用戶驗證控件中沒有任何.NET控件,只是在其加載事件中實現(xiàn)了用戶驗證的方法。因此,在任何使用該控件的頁面加載時,都將調(diào)用該方法。驗證方法如下。代碼 125 CheckUser 方法:\UserContorls\,cs/// summary /// 用戶身份驗證方法 /// /summary private void CheckUser() { if(Session[user_id]==null) { (?in=1)。 } } 在控件的加載事件中,調(diào)用該方法即可。 頁面顯示層 網(wǎng)上書店系統(tǒng)中的頁面主要包括圖書列表、圖書詳細(xì)信息、添加、用戶注冊、購物籃管理,以及圖書銷量統(tǒng)計頁面。 瀏覽、瀏覽、查詢功能。 瀏覽、查詢圖書頁面布局頁面引用了用戶控件HeadMenu,這也通過在頁面的HTML 代碼首行添加%@ Register TagPrefix=“MyBookShop” TagName=“HeaderMenu”Src=”UserControls/” %實現(xiàn)引入,然后在需要聲明控件的地方,寫入代碼如下代碼即可。MyBookShop:HeaderMenu ID=”headerMenu” runat=”server”/MyBookShop:HeaderMenu另外,頁面使用GridView控件來顯示圖書數(shù)據(jù),其定義如下。代碼126 登錄頁面GridView控件定義:\WebLayer\asp:GridView ID=GV runat=server AutoGenerateColumns=False AllowPaging=True PageSize=5 OnPageIndexChanging=GV_PageIndexChanging Columns 7 asp:TemplateField ItemTemplate asp:CheckBox ID=chkSelected Checked=False Visible=True GroupName=chk runat=server /asp:CheckBox/ItemTemplate 14 /asp:TemplateField asp:BoundField DataField=BookId HeaderText=編號 / asp:BoundField DataField=BookName HeaderText=圖書名 / asp:BoundField DataField=Author HeaderText=作者 / asp:BoundField DataField=Publisher HeaderText=出版社 / asp:BoundField DataField=PublishDate HeaderText=出版日期 DataFormatString={0:yyyyMMdd} / asp:BoundField DataField=Price HeaderText=價格 DataFormatString={0:C} / asp:HyperLinkField HeaderText=詳細(xì)信息 DataTextFormatString=詳細(xì)信息 Text=詳細(xì)信息 DataNavigateUrlFormatString=?book_id={0} DataNavigateUrlFields=BookId / /Columns /asp:GridView特別需要注意的是第7~14行定義的模板列,該列中包含了一個復(fù)選框控件chkSelected,即頁面上所見到的“□”列。1. 頁面初始化 查詢頁面在加載時,需要初始化兩個控件的數(shù)據(jù)。(1)“圖書類別”下拉框中的數(shù)據(jù),把圖書分類的數(shù)據(jù)綁定到下拉框中。實現(xiàn)的思路是,利用Category類的Query方法和一個空的Hash表參數(shù),獲取所有的圖書分類信息,然后將這些數(shù)據(jù)綁定到下拉框中,這通過一個InitData方法來實現(xiàn),實現(xiàn)代碼如下。代碼127 InitData()方法:\1 /// summary 2 /// 初始化頁面數(shù)據(jù) 3 /// /summary 4 private void InitData() 5 { 6 //初始化:類別下拉框中的數(shù)據(jù),用Category表中的數(shù)據(jù)進(jìn)行綁定 7 DataTable dt = (new Hashtable())。 8 ()。 (new ListItem(全部, ))。 9 foreach (DataRow dr in ) 10 { 11 (new ListItem(dr[CategoryName].ToString(), dr[CategoryId].ToString()))。 12 } 13 }第7行查詢了所有的圖書分類數(shù)據(jù),第10~12行循環(huán)把這些數(shù)據(jù)按照value=CategoryId,text=CategoryName的形式加到下拉框中。(2)初始化GridView中的數(shù)據(jù),根據(jù)頁面上查詢控件中的內(nèi)容,將相應(yīng)的圖書信息都綁定到GridView中。因為在初始時,頁面上沒有任何查詢條件,因為,GridView中的數(shù)據(jù)是所有的圖書數(shù)據(jù)。方法Query可以實現(xiàn)圖書數(shù)據(jù)的獲取,實現(xiàn)代碼如下。代碼 128 Query()方法:\1 /// summary2 /// 根據(jù)頁面上用戶輸入的查詢條件,查詢圖書數(shù)據(jù)3 /// /summary4 private void Query()5 {6 //初始化:GridView的數(shù)據(jù)源7 Hashtable queryItems = new Hashtable()。8 (BookName, )。9 (CategoryId, )。10 DataTable dt = (queryItems, , )。1112 = dt。13 ()。1415 //保存下拉框的選擇項到ViewState數(shù)組對象16 (DropDownListCategory, )。17 (DropDownListSortColumn, )。18 (DropDownListSortType, )。1920 = 查詢結(jié)果(第 + ( + 1).ToString() + 頁共 + () + 頁)。21 } 代碼在第7~9行構(gòu)造了利用Book類的QueryBooks方法所需要的條件哈希表對象,并把BookName和CategoryId的條件加入進(jìn)去。然后第10行利用QueryBooks方法,按照排序下拉框給出的排序列,查詢所有的圖書信息。第113行把結(jié)果數(shù)據(jù)綁定到GridView上。第15~18行非常重要,功能是把所有下拉框中的值保存到ViewState對象中,目的是,在頁面重寫加載時,能夠恢復(fù)喲內(nèi)用戶所作的選擇,而不會使它們重新回到默認(rèn)的選擇狀態(tài)。第20頁利用一個標(biāo)簽控件顯示頁碼信息。(3)在實現(xiàn)了InitData和Query方法之后,在頁面加載事件中,調(diào)用這兩個方法,便可以初始化頁面數(shù)據(jù)。代碼129 Page_Load()方法:\ /// summary /// 頁面加載事件 /// /summary /// param name=sender/param /// param name=e/param protected void Page_Load(object sender, e) 5 { 6 if (!) { InitData()。 Query()。 10 } }第6行的條件語句控制頁面只有在首次訪問的時候初始化,在用戶通過頁面交互操作而使頁面重新加載時,則不會按這種方式初始化數(shù)據(jù),而應(yīng)恢復(fù)用戶原來所作的查詢選擇內(nèi)容。2.“查詢”按鈕單擊事件 頁面上的查詢項包括圖書名輸入框、類別下拉框,以及排序方式下拉框。當(dāng)用戶通過這些控件進(jìn)行了查詢內(nèi)容的設(shè)定后,單擊“查詢”按鈕時,便可以使GridView顯示滿足這些條件的圖書。這個功能的實現(xiàn),直接利用上面所介紹的Query方法即可,“查詢”按鈕的單擊實現(xiàn)代碼參考如下。代碼130 “查詢”按鈕單擊事件:\ /// summary /// “查詢”按鈕單擊事件 /// /summary protected void ButtonQuery_Click(object sender, e) { 6 Query()。 //查詢圖書數(shù)據(jù) 7 ResetQueryValue()。 //恢復(fù)下拉框選擇項 } 代碼第6行通過Query方法查詢數(shù)據(jù),并綁定到GridView中;然后在第7行調(diào)用了一個ResetQueryValue方法,恢復(fù)下拉框選擇項的狀況,該方法利用ViewState中的內(nèi)容,恢復(fù)下拉框原來的狀態(tài),實現(xiàn)代碼如下。代碼 131 ResetQueryValue方法:\/// summary /// 保持頁面上所有下拉框的選項 /// /summary private void ResetQueryValue() { //類別7 foreach (ListItem Item in )
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1