程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET中的Menu控件的應用及XmlDataSource的了解

ASP.NET中的Menu控件的應用及XmlDataSource的了解

編輯:ASP.NET基礎
以前一直以為菜單都是通過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中創建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的確夠全面,只需要設置屬性就可以滿足你的要求,無需任何代碼:
MaximumDynamicDisplayLevels:指定在靜態顯示層後應顯示的動態顯示菜單節點層數。如果設置為0,子節點將不顯示動態。
Orientation:用於在頁面上設置一個水平菜單條。
StaticDisplayLevels:從根菜單算起,靜態顯示的菜單的層數。上面的小技巧為:xml必須有根節點,但是在菜單顯示的時候要顯示第二層的菜單項,所以將此
xml的根節點value設為空,然後設置saticDisplayLeves為2,這樣用戶看到的就是靜態顯示的第二層。
StaticEnableDefaultPopOutImage:靜態菜單項默認顯示帶有小箭頭,設置為false,將修改這個狀態。
DynamicEnableDefaultPopOutImage:設置動態顯示是否帶有小箭頭。
StaticSubMenuIndent:控制顯示了子菜單條目的縮進深度,如果這些菜單層級被設置為以靜態模式顯示。
ItemWrap:設置菜單項是否可以換行。
通過上面的設置可以輕松的制作出想要的menu的樣式。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved