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

 更新时间:2013年02月05日 14:39:54   作者:   我要评论
以前一直以为菜单都是通过sitemap制作的,最近看到项目中的方法是使用XmlDataSource榜定的,很是好奇,于是研究了一下,感觉还不错哦,感兴趣的朋友也可以了解下啊,或许本文所提供的对你学习有所帮助呢
以前一直以为菜单都是通过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生成验证码代码(纯中文)

    asp.net生成验证码代码(纯中文)

    下面我来写一个生成纯中文的验证码技术,写一个类库,需要的朋友可以参考下
    2012-06-06
  • gridview行索引获取方法及实现代码

    gridview行索引获取方法及实现代码

    GridView行索引的获取有利于对GridView行数据进行操作(删、改)等等,接下来介绍获取方法,感兴趣的朋友可以了解下,阅读本文希望对你有帮助
    2013-01-01
  • asp.net(c#)下各种进制间的轻松转换(2进制、8进制、10进制、16进制)

    asp.net(c#)下各种进制间的轻松转换(2进制、8进制、10进制、16进

    在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。
    2010-10-10
  • .net中自定义错误页面的实现方法

    .net中自定义错误页面的实现方法

    这篇文章主要给大家介绍了关于.net中自定义错误页面实现的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • asp.net下使用AjaxPro实现二级联动代码

    asp.net下使用AjaxPro实现二级联动代码

    本文展示了如何利用AjaxPro与服务器交互,并且还展示了在Js中可以直接调用服务器返回的集合和直接调用服务器上class的属性
    2010-10-10
  • .net连接oracle的3种实现方法

    .net连接oracle的3种实现方法

    这篇文章介绍了.net连接oracle的3种实现方法,有需要的朋友可以才可以一下
    2013-07-07
  • ASP.NET缓存管理的几种方法

    ASP.NET缓存管理的几种方法

    在解释ASP.NET中的缓存管理之前,我先澄清一下,不同的人使用不同的术语来解释同样的概念,有些人把它描述为状态管理,有些人描述为缓存管理。我喜欢用缓存管理,或许是因为我喜欢这个词“Cache”吧。 但是就所指含义来说,它们两个没有区别。现在让我们来探讨一下在ASP.NET环境下缓存管理的各个方面吧。
    2012-12-12
  • asp.net利用cookie保存用户密码实现自动登录的方法

    asp.net利用cookie保存用户密码实现自动登录的方法

    这篇文章主要介绍了asp.net利用cookie保存用户密码实现自动登录的方法,实例分析了asp.net针对cookie的创建、提取与销毁操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • .NetCore实现上传多文件的示例详解

    .NetCore实现上传多文件的示例详解

    本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理+ajax提交+上传进度,对大家非常有帮助,感兴趣的朋友跟随小编一起学习吧
    2017-04-04
  • asp.net下金沙国际官网操作优化一例

    asp.net下金沙国际官网操作优化一例

    金沙国际官网升级,需要对几个表进行一些数据转换,具体是这样:针对每一个 Item,从 orders 表里查出 Shop_Id,并把此 Id 赋值给 items 和 skus 中的 Shop_Id。
    2010-11-11

最新评论