基于asp.net的webmenu的數(shù)據(jù)操作(1)
2024-07-10 12:57:41
供稿:網(wǎng)友
 
基于asp.net的webmenu的數(shù)據(jù)操作(1)
摘要:越來(lái)越多的網(wǎng)頁(yè)中使用到了菜單,一般說(shuō)來(lái),菜單制作的方法比較多,編程的語(yǔ)言基本上是javascript或者vbscript這兩種,這種菜單一旦制作好就不能改變,修改起來(lái)比較麻煩。本文講解webmenu控件,同時(shí)給出實(shí)例,講菜單和數(shù)據(jù)庫(kù)結(jié)合起來(lái),實(shí)現(xiàn)動(dòng)態(tài)的菜單。
前言:
下拉菜單技術(shù)常常在大型網(wǎng)站(如微軟公司網(wǎng)站)中被用于網(wǎng)站導(dǎo)航,這樣可有效的縮短瀏覽者定位至特定內(nèi)容的時(shí)間。用javascript或vbscript雖可實(shí)現(xiàn)該項(xiàng)效果,但需要學(xué)習(xí)腳本語(yǔ)言和dhtml。或者,還可以用dreamweaver和css也能制作出(多級(jí))下拉菜單。
對(duì)菜單的顯示過(guò)程進(jìn)行一下分析,可以發(fā)現(xiàn)以下幾點(diǎn):
1 當(dāng)鼠標(biāo)移動(dòng)到文字(或圖像)上,菜單顯示; 
2 鼠標(biāo)從文字(或圖像)上移開(kāi)(除菜單外的位置),菜單消失; 
3 鼠標(biāo)從文字(或圖像)移動(dòng)到菜單上,菜單保持顯示(這是關(guān)鍵);鼠標(biāo)從菜單移開(kāi),菜單消失。 
4 對(duì)于多級(jí)菜單還要保持上下級(jí)菜單的同步。 
5當(dāng)鼠標(biāo)移動(dòng)到菜單項(xiàng)目上,菜單項(xiàng)的外觀(前景,背景或邊框)變化。
這些特點(diǎn)實(shí)現(xiàn)了菜單的部分功能,某一些菜單功能無(wú)法通過(guò)或者不方便通過(guò)腳本語(yǔ)言來(lái)操作,例如,怎么來(lái)實(shí)現(xiàn)菜單的disenable和enable功能。還有怎么來(lái)實(shí)現(xiàn)菜單的“過(guò)程操作”(也就是沒(méi)有點(diǎn)擊“打開(kāi)文件”,就無(wú)法進(jìn)行“編輯”功能),這些方法均無(wú)法通過(guò)腳本來(lái)實(shí)現(xiàn),同時(shí)腳本語(yǔ)句嵌入html語(yǔ)言中,結(jié)構(gòu)復(fù)雜,寫(xiě)作麻煩,技術(shù)要求較高,不能迅速掌握,現(xiàn)在也有一些寫(xiě)作網(wǎng)頁(yè)菜單的工具,通過(guò)軟件操作,生成腳本,然后拷貝腳本到網(wǎng)頁(yè)里,盡管這樣也可以實(shí)現(xiàn)網(wǎng)頁(yè)菜單,但是也無(wú)法實(shí)現(xiàn)上文所說(shuō)的部分功能。
 第一部分:web munu控件
 在網(wǎng)上搜索到了一個(gè)很有用的控件,webmenu for asp.net(http://www.coalesys.com),這個(gè)控件除了能夠?qū)崿F(xiàn)生成腳本語(yǔ)言的功能之外,就是還可以支持?jǐn)?shù)據(jù)庫(kù)操作,通過(guò)在數(shù)據(jù)庫(kù)里設(shè)置一些屬性的值,可以實(shí)現(xiàn)菜單的相關(guān)功能。而且該控件生成的腳本可以面向國(guó)中內(nèi)核的瀏覽器,做到了真正的兼容,使用起來(lái)沒(méi)有后顧之憂。
 使用之前要注冊(cè)。注冊(cè)后就可以把注冊(cè)碼嵌入asp.net的后臺(tái),以便分發(fā)部署的時(shí)候不會(huì)出錯(cuò)。web menu的license key是一個(gè)字符串,格式為:"用戶名:公司名稱:序列號(hào)"具體使用如下:
webmenu.userdata = "john doe:acme corp:1234567890";
 
//如果沒(méi)有公司名稱,使用方法如下:
webmenu.userdata = "john doe::1234567890";
 
具體使用這個(gè)控件的方法如下:
 1:拷貝dll到解決方案的bin目錄。
 2:在您的頁(yè)面上注冊(cè)。語(yǔ)句為:
<%@ register tagprefix="cswm" namespace="coalesys.webmenu" assembly="coalesys.webmenu" %>
 
 3:在頁(yè)面上放置web menu對(duì)象。
<cswm:webmenu
 id = "quickmenu"
 clearpixelimage = "/images/clearpixel.gif"
 popupicon = "/images/popup.gif"
 selectedpopupicon = "/images/selectedpopup.gif"
 runat = "server">
</cswm:webmenu>
 
 4:添加菜單組和菜單項(xiàng)。
<cswm:webmenu
 id = "quickmenu"
 clearpixelimage = "/images/clearpixel.gif"
 popupicon = "/images/popup.gif"
 selectedpopupicon = "/images/selectedpopup.gif"
 runat = "server">
 
 <cswm:group
 caption = "home"
 runat="server">
 
 <cswm:item
 caption = "news"
 url = "news.aspx"
 runat = "server" />
 
 </cswm:group>
 
</cswm:webmenu>
 
 
 5:添加嵌套菜單組和菜單項(xiàng)。
<cswm:webmenu
 id = "quickmenu"
 clearpixelimage = "/images/clearpixel.gif"
 popupicon = "/images/popup.gif"
 selectedpopupicon = "/images/selectedpopup.gif"
 runat = "server">
 
 <cswm:group
 caption = "home"
 runat="server">
 
 <cswm:item
 caption = "news"
 url = "news.aspx"
 runat = "server" />
 
 <cswm:item
 caption = "about"
 url = "about.aspx"
 runat = "server" />
 
 <cswm:item
 caption = "products"
 runat = "server">
 
 <cswm:group runat="server">
 
 <cswm:item
 caption = "super widget"
 url = "superwidget.aspx"
 runat = "server" />
 
 <cswm:item
  caption = "super widget pro"
 url = "superwidgetpro.aspx"
 runat = "server" />
 
 </cswm:group>
 
 </cswm:item>
 
 </cswm:group>
 
</cswm:webmenu>