以前一直以为菜单都是通过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的样式。
您可能感兴趣的文章:- Asp.Net+XML操作基类(修改,删除,新增,创建)
- asp.net下创建、查询、修改带名称空间的 XML 文件的例子
- ASP.NET中根据XML动态创建使用WEB组件
- asp.net实现在XmlTextWriter中写入一个CDATA的方法
- asp.net简单生成XML文件的方法
- asp.net实现输出xml的方法
- ASP.NET XmlDocument类详解
- ASP.NET实现TreeView的XML数据源绑定实例代码
- ASP.NET+XML打造网络硬盘原理分析
- ASP.NET读取XML文件4种方法分析
- asp.net下XML的加密和解密实现方法
- asp.net创建XML文件的方法小结