如何在 asp.net 中从 web.sitemap 创建水平菜单
how to create a horizontal menu from web.sitemap in asp.net
我试图从 web.site map.But 创建水平站点菜单,不幸的是它显示为第一个根节点,然后是三个父节点,然后是我想要的每个子节点 correspondingly.But下面的结构就像,前四个主菜单水平 Home > Services > Products > Company
然后这些父菜单的子菜单应该显示在每个人的下面,如果我将光标悬停在 Services
它应该显示子菜单 Web Designs >Website Development
等等,或者对于产品它应该显示 HTML Metatag Extractor ,Apartment Management System
etc.How 我可以做 that.With 它显示的现有工作就像第一个单根节点 Home
,如果你鼠标悬停它显示Services , Products , Company 那么每个子节点对应
以下是我所做的工作
web.site地图是
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="index.aspx" title="Home" description="Home">
<siteMapNode url="Services.aspx" title="Services" description="">
<siteMapNode url="webdesign.aspx" title="Web Designs" description="" />
<siteMapNode url="websitedevelopment.aspx" title="Website Development" description=""/>
<siteMapNode url="cmscustomization.aspx" title="CMS Customization" description="" />
<siteMapNode url="softwaredevelopment.aspx" title="Software Development" description="" />
<siteMapNode url="internetmarketing.aspx" title="Internet Marketing" description="" />
<siteMapNode url="mobiledevelopment.aspx" title="Mobile Development" description="" />
<siteMapNode url="hostingsolutions.aspx" title="Hosting Solutions" description="" />
</siteMapNode>
<siteMapNode url="products.aspx" title="Products" description="" >
<siteMapNode url="tagxtor.aspx" title="HTML Metatag Extractor" description="" />
<siteMapNode url="ams.aspx" title="Apartment Management System" description="" />
<siteMapNode url="cgnp.aspx" title="Closed Group Network Portal" description="" />
<siteMapNode url="ribbon.aspx" title="Retail Management System" description="" />
</siteMapNode>
<siteMapNode url="company.aspx" title="Company" description="" >
<siteMapNode url="aboutus.aspx" title="About Us" description="" />
<siteMapNode url="team.aspx" title="Our Team" description="" />
<siteMapNode url="career.aspx" title="Work With Us" description="" />
<siteMapNode url="contactus.aspx" title="Contact Us" description="" />
</siteMapNode>
</siteMapNode>
</siteMap>
HTML代码
<asp:Menu ID="Menu1" runat="server" StaticEnableDefaultPopOutImage="false" Orientation="Horizontal" DataSourceID="SiteMapDataSource1">
<asp:SiteMapPath ID="SiteMapPath1" runat="server" PathSeparator=">"></asp:SiteMapPath>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
按照您目前的设置方式,主页是顶级节点,服务、产品和公司位于其下方。
你会想做这样的事情:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="Top Level" description="Top Level">
<siteMapNode url="Home.aspx" title="Home" description="" />
<siteMapNode url="Services.aspx" title="Services" description="" />
<siteMapNode url="Products.aspx" title="Products" description="" />
<siteMapNode url="Company.aspx" title="Company" description="" />
</siteMapNode>
</siteMap>
您需要在 SiteMapDataSource 中添加一些新属性
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" StartingNodeOffset="0" ShowStartingNode="false" />
对 SiteMapDataSource 的这一更改将忽略顶级节点并显示其下的 4 个节点。
我试图从 web.site map.But 创建水平站点菜单,不幸的是它显示为第一个根节点,然后是三个父节点,然后是我想要的每个子节点 correspondingly.But下面的结构就像,前四个主菜单水平 Home > Services > Products > Company
然后这些父菜单的子菜单应该显示在每个人的下面,如果我将光标悬停在 Services
它应该显示子菜单 Web Designs >Website Development
等等,或者对于产品它应该显示 HTML Metatag Extractor ,Apartment Management System
etc.How 我可以做 that.With 它显示的现有工作就像第一个单根节点 Home
,如果你鼠标悬停它显示Services , Products , Company 那么每个子节点对应
以下是我所做的工作 web.site地图是
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="index.aspx" title="Home" description="Home">
<siteMapNode url="Services.aspx" title="Services" description="">
<siteMapNode url="webdesign.aspx" title="Web Designs" description="" />
<siteMapNode url="websitedevelopment.aspx" title="Website Development" description=""/>
<siteMapNode url="cmscustomization.aspx" title="CMS Customization" description="" />
<siteMapNode url="softwaredevelopment.aspx" title="Software Development" description="" />
<siteMapNode url="internetmarketing.aspx" title="Internet Marketing" description="" />
<siteMapNode url="mobiledevelopment.aspx" title="Mobile Development" description="" />
<siteMapNode url="hostingsolutions.aspx" title="Hosting Solutions" description="" />
</siteMapNode>
<siteMapNode url="products.aspx" title="Products" description="" >
<siteMapNode url="tagxtor.aspx" title="HTML Metatag Extractor" description="" />
<siteMapNode url="ams.aspx" title="Apartment Management System" description="" />
<siteMapNode url="cgnp.aspx" title="Closed Group Network Portal" description="" />
<siteMapNode url="ribbon.aspx" title="Retail Management System" description="" />
</siteMapNode>
<siteMapNode url="company.aspx" title="Company" description="" >
<siteMapNode url="aboutus.aspx" title="About Us" description="" />
<siteMapNode url="team.aspx" title="Our Team" description="" />
<siteMapNode url="career.aspx" title="Work With Us" description="" />
<siteMapNode url="contactus.aspx" title="Contact Us" description="" />
</siteMapNode>
</siteMapNode>
</siteMap>
HTML代码
<asp:Menu ID="Menu1" runat="server" StaticEnableDefaultPopOutImage="false" Orientation="Horizontal" DataSourceID="SiteMapDataSource1">
<asp:SiteMapPath ID="SiteMapPath1" runat="server" PathSeparator=">"></asp:SiteMapPath>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
按照您目前的设置方式,主页是顶级节点,服务、产品和公司位于其下方。
你会想做这样的事情:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="Top Level" description="Top Level">
<siteMapNode url="Home.aspx" title="Home" description="" />
<siteMapNode url="Services.aspx" title="Services" description="" />
<siteMapNode url="Products.aspx" title="Products" description="" />
<siteMapNode url="Company.aspx" title="Company" description="" />
</siteMapNode>
</siteMap>
您需要在 SiteMapDataSource 中添加一些新属性
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" StartingNodeOffset="0" ShowStartingNode="false" />
对 SiteMapDataSource 的这一更改将忽略顶级节点并显示其下的 4 个节点。