国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

通用自助式網(wǎng)站開發(fā)

2013-12-29 05:26:38方木云
長春師范大學(xué)學(xué)報 2013年6期
關(guān)鍵詞:動態(tài)顯示字段菜單

姜 偉,方木云

1 通用自助式網(wǎng)站系統(tǒng)設(shè)計思想

1.1 需要解決的問題

易懂、通用的自助式網(wǎng)站系統(tǒng),需要解決以下幾點問題:網(wǎng)站各子站風(fēng)格必須統(tǒng)一,接近于主站;實現(xiàn)導(dǎo)航欄菜單和logo的自助式動態(tài)設(shè)置,達到有限增加頁面,用戶自己設(shè)置網(wǎng)站,開發(fā)者輕松的目標(biāo);建立網(wǎng)站的通用類型模版。

1.2 系統(tǒng)應(yīng)用邏輯和通用框架的建立

1.2.1 系統(tǒng)應(yīng)用邏輯

網(wǎng)站采用B/S(Browser/Server)結(jié)構(gòu),客戶端用戶使用瀏覽器進行訪問,服務(wù)器端采用3層架構(gòu),包括表示層、應(yīng)用層和數(shù)據(jù)層。表示層負責(zé)對應(yīng)用的展示,提供二級網(wǎng)站服務(wù)的發(fā)布,包括教學(xué)網(wǎng)站、職能網(wǎng)站、教學(xué)網(wǎng)站及部門網(wǎng)站等;應(yīng)用層封裝業(yè)務(wù)邏輯,實現(xiàn)網(wǎng)站群的站點及站點資源管理、用戶及用戶權(quán)限的管理、信息采集及發(fā)布的管理等;數(shù)據(jù)層提供聯(lián)機事務(wù)處理,實現(xiàn)數(shù)據(jù)的統(tǒng)一訪問。

1.2.2 自助式網(wǎng)站建設(shè)框架設(shè)計

網(wǎng)站頁面采用上、中、下3層框架設(shè)計,Top.aspx顯示logo和導(dǎo)航欄,主頁顯示頁面,Bottom.aspx顯示版權(quán)信息,所有主頁使用統(tǒng)一的Top.aspx;logo和導(dǎo)航欄通過一定的邏輯方法動態(tài)顯示。建立公共網(wǎng)頁目錄Publicpage,存儲所有自助式網(wǎng)站部分功能模板,根據(jù)所送參數(shù),使模板頁顯示出需要顯示的效果。

2 數(shù)據(jù)庫設(shè)計

使用SQLSERVER 2005,在主站原數(shù)據(jù)庫基礎(chǔ)上,建立兩張相關(guān)的表TopMenu和Publictable。

2.1 菜單表TopMenu

菜單表TopMenu起到動態(tài)控制導(dǎo)航欄菜單的作用。其中,leibie字段為部門標(biāo)識,比如A部門是020,B部門是021。OID字段標(biāo)識該導(dǎo)航欄菜單的級別和順序,當(dāng)OID為100、200…(100倍數(shù))時,該菜單為頂級菜單顯示,否則為二級菜單顯示。MenuText字段標(biāo)識為導(dǎo)航欄菜單在IE上顯示的內(nèi)容。URL字段標(biāo)識菜單鏈接地址,如morepublic.aspx是目錄publicpage下的公共頁模版,p和q送出MenuText和leibie參數(shù)。Parented字段為0表示頂級菜單,為-1是子菜單,該字段可以被看作OID字段的補充(圖1)。

2.2 通用表Publictable

通用表publictable以leibie字段和MenuText字段為外鍵,達到約束模板頁通用部分顯示內(nèi)容的效果。

3 系統(tǒng)程序設(shè)計與算法

3.1 實現(xiàn)Logo的動態(tài)顯示

關(guān)于實現(xiàn)logo動態(tài)顯示的問題,我們使用了一個小技巧:因為站點每個子站都擁有自己獨有的leibie字段,所以把Logo以leibie.jpg的形式保存在/image目錄下,例如A部門的logo命名為020.jpg,B部門為023.jpg……以此類推。然后在Top.ascx.cs的Page_Load事件中,加入賦值img=Request[“q”].ToString();。在Top.ascx中,在Logo顯示處寫入html代碼.jpg”>。這樣就實現(xiàn)了Logo的動態(tài)顯示。

3.2 實現(xiàn)導(dǎo)航欄的動態(tài)顯示

實現(xiàn)導(dǎo)航欄的動態(tài)顯示,還是從leibie字段入手。先在Top.ascx中,建立一個Literal控件顯示導(dǎo)航欄,然后在Top.ascx.cs的程序中,建立一個對應(yīng)Literal控件Text屬性的公有對象getTopMenu()。對象中實現(xiàn)對TopMenu表leibie字段的一個動態(tài)查詢,然后再對Parented字段進行一個條件判斷:若是頂級菜單,則通過MenuContent.Append方法輸出一個

    ;若是子菜單,輸出一個
  • 加上導(dǎo)航欄名。

    算法:(1)定義變量leibie=Request[“q”];pub=-1;(2)建立數(shù)據(jù)庫連接myConnection設(shè)計;(3)建立新的DataTable dt;實現(xiàn)對TopMenu表基于leibie字段等于變量leibie的查詢,查詢語句如下:SELECT*FROM TopMenu WHERELeibie=”+leibie+”O(jiān)RDERBY OID;(4)在html代碼中輸出一個

  • 標(biāo)記。(5.2)若當(dāng)前ParentID字段等于0且沒有循環(huán)到最后一行,則在html代碼中輸出
標(biāo)記,再輸出顯示內(nèi)容等于當(dāng)前MenuText字段值、指向鏈接為當(dāng)前row字段值的
  • 標(biāo)記和
  • 迁安市| 雷波县| 阜阳市| 清水县| 洛阳市| 安化县| 平阳县| 富顺县| 化德县| 衢州市| 南开区| 全南县| 琼结县| 新晃| 阿拉善右旗| 枣强县| 太仓市| 辰溪县| 晋宁县| 泰安市| 崇信县| 和硕县| 古蔺县| 襄城县| 沭阳县| 循化| 应用必备| 龙川县| 灵璧县| 陇西县| 开封县| 新民市| 临城县| 江城| 韶关市| 沧源| 宁阳县| 盐边县| 德保县| 保康县| 涟源市|