Как создать горизонтальное меню из web.sitemap в asp.net
Я пытался создать горизонтальное меню сайта из карты web.site. Но, к сожалению, он показывает, как сначала один корневой узел, затем три родительских узла, а затем каждый дочерний узел соответственно. Но я хочу в следующей структуре, как, первые четыре главного меню по горизонтали, как Home > Services > Products > Company
тогда дочерние меню этих родительских меню должны отображаться ниже каждого человека, например, если я наведу курсор мыши на Services
это должно показать детское меню Web Designs >Website Development
и т. д. или для продуктов это должно показать HTML Metatag Extractor ,Apartment Management System
и т.д. Как я могу это сделать. С существующей работой это показывает как первый единственный корневой узел Home
Если вы наведите указатель мыши на "Сервисы, Продукты, Компания", то каждый дочерний узел соответственно
Ниже приводится работа, которую я сделал. Web.site map
<?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" />
1 ответ
То, как вы в данный момент настроили его, "Дом" - это верхний узел, а "Сервисы", "Продукты" и "Компания" - ниже.
Вы хотите сделать что-то вроде этого:
<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 узла под ним.