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

所属分类: 网络编程 / ASP.NET 阅读数: 1686
收藏 0 赞 0 分享
以前一直以为菜单都是通过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的样式。
更多精彩内容其他人还在看

.NET Core源码解析配置文件及依赖注入

这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等
收藏 0 赞 0 分享

.NET Corek中Git的常用命令及实战演练

这篇文章将通过故事的形式从Git的历史谈起,并讲述Git的强大之处。然后通过实战演练教你如何在Github以及码云上托管我们的代码并进行代码的版本控制
收藏 0 赞 0 分享

Asp.Net Core WebAPI使用Swagger时API隐藏和分组详解

这篇文章主要给大家介绍了关于Asp.Net Core WebAPI使用Swagger时API隐藏和分组的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Asp.Net Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

如何利用FluentMigrator实现数据库迁移

这篇文章主要给大家介绍了关于如何利用FluentMigrator实现数据库迁移的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core利用Jaeger实现分布式追踪详解

这篇文章主要给大家介绍了关于ASP.NET Core利用Jaeger实现分布式追踪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

浅谈从ASP.NET Core2.2到3.0你可能会遇到这些问题

这篇文章主要介绍了ASP.NET Core2.2到3.0可能会遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解.net core webapi 前后端开发分离后的配置和部署

这篇文章主要介绍了.net core webapi 前后端开发分离后的配置和部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁

这篇文章主要介绍了ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

.net 4.5部署到docker容器的完整步骤

这篇文章主要给大家介绍了关于.net 4.5部署到docker容器的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net4.5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

.net core并发下线程安全问题详解

这篇文章主要给大家介绍了关于.net core并发下线程安全问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多