.net SiteMap菜单显示

时间:2012-05-17 14:53:59

标签: c# asp.net sitemap

我的网站有一个菜单,使用站点地图文件和角色提供程序根据角色生成链接。

手动创建菜单时,链接如下所示:

Link1 | Link2 | Link3 | etc... 

现在它处于悬停类型的菜单上,这是我不想要的:

Link1
  |___ Link2___Link3
  |___ Link4

我怎样才能让它看作第一种类型?

我第一次使用站点地图进行菜单导航,因此不太确定如何创建<siteMapNodes>

我认为是因为:

<siteMapNode url="~/Reporting.aspx" title="Reporting" description="" roles="MyRole" > <siteMapNode url="~/Auditing.aspx" title="Auditing" description="" roles="MyRole"/> <siteMapNode url="~/TeamManager.aspx" title="Team Manager" description="" roles="MyRole"/> </siteMapNode>

2 个答案:

答案 0 :(得分:4)

如果站点地图代码中的XML嵌套,则站点地图将嵌套项目。

以下将显示:
Link1 | Link2 | LINK3

    <siteMapNode url="Link1Url" title="Link1" />
    <siteMapNode url="Link2Url" title="Link2" />
    <siteMapNode url="Link3Url" title="Link3" />

以下将显示:
链接1
| -Link2
| -Link3

    <siteMapNode url="Link1Url" title="Link1">
        <siteMapNode url="Link2Url" title="Link2" />
        <siteMapNode url="Link3Url" title="Link3" />
    </siteMapNode>

您的完整Web.sitemap将如下所示:

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true" >
        <siteMapNode url="~/" title="Home">
            <siteMapNode url="Link1Url" title="Link1" />
            <siteMapNode url="Link2Url" title="Link2" />
            <siteMapNode url="Link3Url" title="Link3" />
        </siteMapNode>
    </siteMap>

答案 1 :(得分:0)

如果您使用菜单式结构,我还建议使用jQuery插件从Site集合构建导航。