ASP.NET中的Menu控件的應(yīng)用及XmlDataSource的了解
更新時(shí)間:2013年02月05日 14:39:54 作者:
以前一直以為菜單都是通過sitemap制作的,最近看到項(xiàng)目中的方法是使用XmlDataSource榜定的,很是好奇,于是研究了一下,感覺還不錯(cuò)哦,感興趣的朋友也可以了解下啊,或許本文所提供的對(duì)你學(xué)習(xí)有所幫助呢
以前一直以為菜單都是通過sitemap制作的,最近看到項(xiàng)目中的方法是使用XmlDataSource榜定的。
Menusite.xlm文件:
<?xmlversion="1.0"encoding="utf-8"?>
<Menusvalue="">
<TopMenuid="100"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_stl.jpg"NavigateUrl="">
<TopMenuItemid="101"value="ApplyforShortTermLeaseofStateLand"NavigateUrl="~/TOL/Issuance/AppTOLApplication.aspx"></TopMenuItem>
<TopMenuItemid="102"value="ManageMyExistingAccount"NavigateUrl="~/CaseEnquiry/HomeAuthenticate.aspx?ShowPanel=true"></TopMenuItem>
<TopMenuItemid="103"value="ViewMessagesforMyApplications"NavigateUrl="~/CommonUtility/Email/ListAppCorrespondence.aspx"></TopMenuItem>
</TopMenu>
<TopMenuid="200"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_aosl.jpg"NavigateUrl="">
<TopMenuItemid="202"value="ManageMyExistingStateTitle"NavigateUrl=""></TopMenuItem>
<TopMenuItemid="203"value="ViewMessagesforMyApplications"NavigateUrl=""></TopMenuItem>
</TopMenu>
<TopMenuid="300"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_lup.jpg"NavigateUrl="">
<TopMenuItemid="301"value="SubmitProposalforLandUse"NavigateUrl=""></TopMenuItem>
</TopMenu>
<TopMenuid="500"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_logout.jpg"NavigateUrl="~"Logout.aspx">
</TopMenu>
</Menus>
html中創(chuàng)建xmldatasource和asp:menu控件:
<asp:XmlDataSourceID="XmlDataSource1"runat="server"DataFile="Menusite.xml"></asp:XmlDataSource>
<asp:MenuDataSourceID="XmlDataSource1"runat="server"ID="Menu1"MaximumDynamicDisplayLevels="4"
Orientation="Horizontal"StaticDisplayLevels="2"StaticEnableDefaultPopOutImage="False"
DynamicEnableDefaultPopOutImage="false"StaticSubMenuIndent=""ItemWrap="True">
<DataBindings>
<asp:MenuItemBindingDataMember="TopMenu"ImageUrlField="ImageUrl"TextField="value"
NavigateUrlField="NavigateUrl"ValueField="value"/>
<asp:MenuItemBindingDataMember="TopMenuItem"NavigateUrlField="NavigateUrl"TextField="value"
ValueField="value"/>
<asp:MenuItemBindingDataMember="Menus"TextField="value"ValueField="value"/>
</DataBindings>
</asp:Menu>
menu的確夠全面,只需要設(shè)置屬性就可以滿足你的要求,無需任何代碼:
MaximumDynamicDisplayLevels:指定在靜態(tài)顯示層后應(yīng)顯示的動(dòng)態(tài)顯示菜單節(jié)點(diǎn)層數(shù)。如果設(shè)置為0,子節(jié)點(diǎn)將不顯示動(dòng)態(tài)。
Orientation:用于在頁面上設(shè)置一個(gè)水平菜單條。
StaticDisplayLevels:從根菜單算起,靜態(tài)顯示的菜單的層數(shù)。上面的小技巧為:xml必須有根節(jié)點(diǎn),但是在菜單顯示的時(shí)候要顯示第二層的菜單項(xiàng),所以將此
xml的根節(jié)點(diǎn)value設(shè)為空,然后設(shè)置saticDisplayLeves為2,這樣用戶看到的就是靜態(tài)顯示的第二層。
StaticEnableDefaultPopOutImage:靜態(tài)菜單項(xiàng)默認(rèn)顯示帶有小箭頭,設(shè)置為false,將修改這個(gè)狀態(tài)。
DynamicEnableDefaultPopOutImage:設(shè)置動(dòng)態(tài)顯示是否帶有小箭頭。
StaticSubMenuIndent:控制顯示了子菜單條目的縮進(jìn)深度,如果這些菜單層級(jí)被設(shè)置為以靜態(tài)模式顯示。
ItemWrap:設(shè)置菜單項(xiàng)是否可以換行。
通過上面的設(shè)置可以輕松的制作出想要的menu的樣式。
Menusite.xlm文件:
復(fù)制代碼 代碼如下:
<?xmlversion="1.0"encoding="utf-8"?>
<Menusvalue="">
<TopMenuid="100"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_stl.jpg"NavigateUrl="">
<TopMenuItemid="101"value="ApplyforShortTermLeaseofStateLand"NavigateUrl="~/TOL/Issuance/AppTOLApplication.aspx"></TopMenuItem>
<TopMenuItemid="102"value="ManageMyExistingAccount"NavigateUrl="~/CaseEnquiry/HomeAuthenticate.aspx?ShowPanel=true"></TopMenuItem>
<TopMenuItemid="103"value="ViewMessagesforMyApplications"NavigateUrl="~/CommonUtility/Email/ListAppCorrespondence.aspx"></TopMenuItem>
</TopMenu>
<TopMenuid="200"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_aosl.jpg"NavigateUrl="">
<TopMenuItemid="202"value="ManageMyExistingStateTitle"NavigateUrl=""></TopMenuItem>
<TopMenuItemid="203"value="ViewMessagesforMyApplications"NavigateUrl=""></TopMenuItem>
</TopMenu>
<TopMenuid="300"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_lup.jpg"NavigateUrl="">
<TopMenuItemid="301"value="SubmitProposalforLandUse"NavigateUrl=""></TopMenuItem>
</TopMenu>
<TopMenuid="500"value=""ImageUrl="~/App_Themes/Public/images/PublicImages/topMenu_logout.jpg"NavigateUrl="~"Logout.aspx">
</TopMenu>
</Menus>
html中創(chuàng)建xmldatasource和asp:menu控件:
復(fù)制代碼 代碼如下:
<asp:XmlDataSourceID="XmlDataSource1"runat="server"DataFile="Menusite.xml"></asp:XmlDataSource>
<asp:MenuDataSourceID="XmlDataSource1"runat="server"ID="Menu1"MaximumDynamicDisplayLevels="4"
Orientation="Horizontal"StaticDisplayLevels="2"StaticEnableDefaultPopOutImage="False"
DynamicEnableDefaultPopOutImage="false"StaticSubMenuIndent=""ItemWrap="True">
<DataBindings>
<asp:MenuItemBindingDataMember="TopMenu"ImageUrlField="ImageUrl"TextField="value"
NavigateUrlField="NavigateUrl"ValueField="value"/>
<asp:MenuItemBindingDataMember="TopMenuItem"NavigateUrlField="NavigateUrl"TextField="value"
ValueField="value"/>
<asp:MenuItemBindingDataMember="Menus"TextField="value"ValueField="value"/>
</DataBindings>
</asp:Menu>
menu的確夠全面,只需要設(shè)置屬性就可以滿足你的要求,無需任何代碼:
MaximumDynamicDisplayLevels:指定在靜態(tài)顯示層后應(yīng)顯示的動(dòng)態(tài)顯示菜單節(jié)點(diǎn)層數(shù)。如果設(shè)置為0,子節(jié)點(diǎn)將不顯示動(dòng)態(tài)。
Orientation:用于在頁面上設(shè)置一個(gè)水平菜單條。
StaticDisplayLevels:從根菜單算起,靜態(tài)顯示的菜單的層數(shù)。上面的小技巧為:xml必須有根節(jié)點(diǎn),但是在菜單顯示的時(shí)候要顯示第二層的菜單項(xiàng),所以將此
xml的根節(jié)點(diǎn)value設(shè)為空,然后設(shè)置saticDisplayLeves為2,這樣用戶看到的就是靜態(tài)顯示的第二層。
StaticEnableDefaultPopOutImage:靜態(tài)菜單項(xiàng)默認(rèn)顯示帶有小箭頭,設(shè)置為false,將修改這個(gè)狀態(tài)。
DynamicEnableDefaultPopOutImage:設(shè)置動(dòng)態(tài)顯示是否帶有小箭頭。
StaticSubMenuIndent:控制顯示了子菜單條目的縮進(jìn)深度,如果這些菜單層級(jí)被設(shè)置為以靜態(tài)模式顯示。
ItemWrap:設(shè)置菜單項(xiàng)是否可以換行。
通過上面的設(shè)置可以輕松的制作出想要的menu的樣式。
您可能感興趣的文章:
- Asp.Net+XML操作基類(修改,刪除,新增,創(chuàng)建)
- asp.net下創(chuàng)建、查詢、修改帶名稱空間的 XML 文件的例子
- ASP.NET中根據(jù)XML動(dòng)態(tài)創(chuàng)建使用WEB組件
- asp.net實(shí)現(xiàn)在XmlTextWriter中寫入一個(gè)CDATA的方法
- asp.net簡(jiǎn)單生成XML文件的方法
- asp.net實(shí)現(xiàn)輸出xml的方法
- ASP.NET XmlDocument類詳解
- ASP.NET實(shí)現(xiàn)TreeView的XML數(shù)據(jù)源綁定實(shí)例代碼
- ASP.NET+XML打造網(wǎng)絡(luò)硬盤原理分析
- ASP.NET讀取XML文件4種方法分析
- asp.net下XML的加密和解密實(shí)現(xiàn)方法
- asp.net創(chuàng)建XML文件的方法小結(jié)
相關(guān)文章
ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之下載或在線查看實(shí)現(xiàn)代碼
在目錄瀏覽中,如果選擇的是一個(gè)文件,單擊“打開”按鈕就可以進(jìn)行文件下載2012-10-10
服務(wù)器讀取EXCEL不安裝OFFICE如何實(shí)現(xiàn)
用asp.net做了一簡(jiǎn)單的游戲管理后臺(tái),涉及到了上傳Excel導(dǎo)入數(shù)據(jù)的功能,在本地開發(fā)實(shí)現(xiàn)都好好的,可已上傳的服務(wù)器上就悲劇了,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下2014-03-03
關(guān)于Metalama使用Fabric操作項(xiàng)目或命名空間的問題
Metalama是一個(gè)基于微軟編譯器Roslyn的元編程的庫,可以解決我在開發(fā)中遇到的重復(fù)代碼的問題,這篇文章主要介紹了Metalama使用Fabric操作項(xiàng)目或命名空間,需要的朋友可以參考下2022-04-04
asp.net自定義控件中注冊(cè)Javascript問題解決方案
這篇文章主要介紹了asp.net自定義控件中注冊(cè)Javascript的問題,需要的朋友可以參考下2014-05-05
asp.net 用戶在線退出更新實(shí)現(xiàn)代碼
更新用戶是否在線?注銷用戶的話有三種情況:1.點(diǎn)擊退出,2.會(huì)話超時(shí),3.關(guān)閉瀏覽器2010-03-03
Asp.net Core Jenkins Docker實(shí)現(xiàn)一鍵化部署的實(shí)現(xiàn)
這篇文章主要介紹了Asp.net Core Jenkins Docker實(shí)現(xiàn)一鍵化部署的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
C#數(shù)據(jù)綁定控件中的DataSource屬性淺談
使用該屬性指定用來填充Repeater控件的數(shù)據(jù)源。DataSource可以是任何System.Collections.IEnumerable對(duì)象, 如用于訪問數(shù)據(jù)庫的System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、數(shù)組或IListSource對(duì)象2013-02-02

