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

正文內(nèi)容

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

2025-08-04 04:51本頁(yè)面
  

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