ASP.NET中的Menu控件的應(yīng)用及XmlDataSource的了解
更新時間:2013年02月05日 14:39:54 作者:
以前一直以為菜單都是通過sitemap制作的,最近看到項目中的方法是使用XmlDataSource榜定的,很是好奇,于是研究了一下,感覺還不錯哦,感興趣的朋友也可以了解下啊,或許本文所提供的對你學(xué)習(xí)有所幫助呢
以前一直以為菜單都是通過sitemap制作的,最近看到項目中的方法是使用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)顯示的動態(tài)顯示菜單節(jié)點層數(shù)。如果設(shè)置為0,子節(jié)點將不顯示動態(tài)。
Orientation:用于在頁面上設(shè)置一個水平菜單條。
StaticDisplayLevels:從根菜單算起,靜態(tài)顯示的菜單的層數(shù)。上面的小技巧為:xml必須有根節(jié)點,但是在菜單顯示的時候要顯示第二層的菜單項,所以將此
xml的根節(jié)點value設(shè)為空,然后設(shè)置saticDisplayLeves為2,這樣用戶看到的就是靜態(tài)顯示的第二層。
StaticEnableDefaultPopOutImage:靜態(tài)菜單項默認(rèn)顯示帶有小箭頭,設(shè)置為false,將修改這個狀態(tài)。
DynamicEnableDefaultPopOutImage:設(shè)置動態(tài)顯示是否帶有小箭頭。
StaticSubMenuIndent:控制顯示了子菜單條目的縮進(jìn)深度,如果這些菜單層級被設(shè)置為以靜態(tài)模式顯示。
ItemWrap:設(shè)置菜單項是否可以換行。
通過上面的設(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)顯示的動態(tài)顯示菜單節(jié)點層數(shù)。如果設(shè)置為0,子節(jié)點將不顯示動態(tài)。
Orientation:用于在頁面上設(shè)置一個水平菜單條。
StaticDisplayLevels:從根菜單算起,靜態(tài)顯示的菜單的層數(shù)。上面的小技巧為:xml必須有根節(jié)點,但是在菜單顯示的時候要顯示第二層的菜單項,所以將此
xml的根節(jié)點value設(shè)為空,然后設(shè)置saticDisplayLeves為2,這樣用戶看到的就是靜態(tài)顯示的第二層。
StaticEnableDefaultPopOutImage:靜態(tài)菜單項默認(rèn)顯示帶有小箭頭,設(shè)置為false,將修改這個狀態(tài)。
DynamicEnableDefaultPopOutImage:設(shè)置動態(tài)顯示是否帶有小箭頭。
StaticSubMenuIndent:控制顯示了子菜單條目的縮進(jìn)深度,如果這些菜單層級被設(shè)置為以靜態(tài)模式顯示。
ItemWrap:設(shè)置菜單項是否可以換行。
通過上面的設(shè)置可以輕松的制作出想要的menu的樣式。
您可能感興趣的文章:
- Asp.Net+XML操作基類(修改,刪除,新增,創(chuàng)建)
- asp.net下創(chuàng)建、查詢、修改帶名稱空間的 XML 文件的例子
- ASP.NET中根據(jù)XML動態(tài)創(chuàng)建使用WEB組件
- asp.net實現(xiàn)在XmlTextWriter中寫入一個CDATA的方法
- asp.net簡單生成XML文件的方法
- asp.net實現(xiàn)輸出xml的方法
- ASP.NET XmlDocument類詳解
- ASP.NET實現(xiàn)TreeView的XML數(shù)據(jù)源綁定實例代碼
- ASP.NET+XML打造網(wǎng)絡(luò)硬盤原理分析
- ASP.NET讀取XML文件4種方法分析
- asp.net下XML的加密和解密實現(xiàn)方法
- asp.net創(chuàng)建XML文件的方法小結(jié)
相關(guān)文章
ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之下載或在線查看實現(xiàn)代碼
在目錄瀏覽中,如果選擇的是一個文件,單擊“打開”按鈕就可以進(jìn)行文件下載2012-10-10
服務(wù)器讀取EXCEL不安裝OFFICE如何實現(xiàn)
用asp.net做了一簡單的游戲管理后臺,涉及到了上傳Excel導(dǎo)入數(shù)據(jù)的功能,在本地開發(fā)實現(xiàn)都好好的,可已上傳的服務(wù)器上就悲劇了,下面有個不錯的解決方法,大家可以參考下2014-03-03
關(guān)于Metalama使用Fabric操作項目或命名空間的問題
Metalama是一個基于微軟編譯器Roslyn的元編程的庫,可以解決我在開發(fā)中遇到的重復(fù)代碼的問題,這篇文章主要介紹了Metalama使用Fabric操作項目或命名空間,需要的朋友可以參考下2022-04-04
asp.net自定義控件中注冊Javascript問題解決方案
這篇文章主要介紹了asp.net自定義控件中注冊Javascript的問題,需要的朋友可以參考下2014-05-05
Asp.net Core Jenkins Docker實現(xiàn)一鍵化部署的實現(xiàn)
這篇文章主要介紹了Asp.net Core Jenkins Docker實現(xiàn)一鍵化部署的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
C#數(shù)據(jù)綁定控件中的DataSource屬性淺談
使用該屬性指定用來填充Repeater控件的數(shù)據(jù)源。DataSource可以是任何System.Collections.IEnumerable對象, 如用于訪問數(shù)據(jù)庫的System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable、數(shù)組或IListSource對象2013-02-02

