如何在只有***元素的 asp.net 中制作基于站点地图的菜单?
Posted
技术标签:
【中文标题】如何在只有***元素的 asp.net 中制作基于站点地图的菜单?【英文标题】:How do I make a sitemap based menu in asp.net with onl top level elements? 【发布时间】:2009-06-23 01:39:13 【问题描述】:我正在尝试根据 asp.net 站点地图制作菜单。您如何嵌套站点地图节点以使它们都显示在同一级别上。这是我所拥有的:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>
<siteMapNode url="~/Default.aspx" title="Home" description="link to Home" />
<siteMapNode url="~/about.aspx" title="About" description="abot" />
</siteMapNode>
</siteMap>
Menu 控件的代码如下所示:
<asp:Menu ID="Menu1" runat="server" BackColor="#E3EAEB"
DataSourceID="SiteMapDataSource1"
</asp:Menu>
它们都显示为箭头下方的第二层元素。对不起初学者的问题,但我以前从未使用过菜单控件。
【问题讨论】:
你能发布你的菜单控制代码吗?这些似乎都是***节点!他们都没有孩子。我想知道你的 asp 标记是什么样的。 这也让我感到困惑!我用控制代码编辑了它。 【参考方案1】:您只需要设置 StaticDisplayLevels 并且站点地图文件中只有一个级别。
<asp:Menu runat="server" DataSourceID="SiteMapDataSource" StaticDisplayLevels="2" >
</asp:Menu>
web.sitemap 示例:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>
<siteMapNode url="Default.aspx" title="Home" description="" />
<siteMapNode url="Page2.aspx" title="Page2" description="" />
</siteMapNode>
</siteMap>
【讨论】:
以上是关于如何在只有***元素的 asp.net 中制作基于站点地图的菜单?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET 中使用 innerhtml 制作按钮事件