如何在只有***元素的 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 MVC 中使用多个表单元素

如何在 ASP.NET 中制作自动完成文本框?

如何在 ASP.NET 中使用 innerhtml 制作按钮事件

如何在 asp.net 中制作 json web 服务?

如何在 asp.net 应用程序中使用 Delphi 制作的库?

如何在 Asp .net 核心网站(如博客)中制作喜欢/不喜欢按钮?