ASP.NET中的Menu控件的应用及XmlDataSource的了解
2023-06-13 09:14:45 时间
以前一直以为菜单都是通过sitemap制作的,最近看到项目中的方法是使用XmlDataSource榜定的。
Menusite.xlm文件:
复制代码代码如下:
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 Core应用启动初始化的N种方案[下篇]
- asp.net(C#)中Repeater嵌套绑定Repeater[通俗易懂]
- [.NET控件]Telerik RadControls for ASP.NET AJAX 2008 Q1 net 2.0 Web.UI「建议收藏」
- [接上篇]在Window10/11的Linux子系统Docker上部署VB.NET Asp.Net Core WebAPI应用
- asp.net core 成为构建企业web应用首选
- VB.NET构建多层数据库应用:使用MSSQL(vb.net mssql)
- 使用ASP链接MySQL实现快速查表(asp链接mysql查表)
- 企业网站用ASP读取MySQL数据持续发展(asp网站读取MySQL)
- 使用MySQL轻松实现ASP数据库应用(asp数据库用mysql)
- NET环境下 MySQL数据库应用实践(.net配合 mysql)
- Net环境下MySQL数据库驱动的研究与应用(.net的mysql驱动)
- 网上解决Net环境下MySQL数据库的同步问题(.net 同步mysql)
- ASP.NET热点问题解答14个
- asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧
- ASP.Net不执行问题一解
- asp.net票据简单应用
- asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
- asp.net服务器控件的ID,ClientID,UniqueID的区别
- asp.net判断数组是否存在某个值的方法
- asp.net中session的原理及应用详解
- .Net中导出数据到Excel(asp.net和winform程序中)
- IIS部署asp.net报404错误的解决方法
- asp.net动态产生checkbox(数据源为DB或内存集合)
- ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息