1

我正在使用 ASP.NET 菜单控件。我希望菜单看起来像这样,其中链接 1 到 10 在一个站点地图文件中,而链接 11 到 20 在另一个站点地图文件中。

root
--link 1
(...)
--link 10
--link 11
(...)
--link 20

但是,站点地图文件必须有一个我似乎无法抑制的根。

有什么想法吗?

-Edoode

4

2 回答 2

2

您可以通过执行以下操作来抑制根节点:

SiteMapDataSource ds = new SiteMapDataSource();
ds.SiteMapProvider = "providername";
ds.ShowStartingNode = false;
TreeView1.DataSource = ds;
TreeView1.DataBind();

我使用这种方法来隐藏树视图的根节点。

于 2009-05-11T17:28:42.947 回答
1

是否有任何理由不能添加虚拟根节点,然后将 ASP.NET 菜单控件子类化以忽略虚拟“根”节点?

您应该能够告诉您的 SiteMapProvider 为菜单使用不同的站点地图。

我的另一个问题是拥有多个站点地图文件的目的是什么?我相信您对此有充分的理由,但是了解正在发生的事情会更容易理解并提出更好的解决方案。

话虽如此,我会想出一个本土的菜单系统。您可以在前端使用 jQuery 和 superfish 插件,并在后端使用 C# 读取站点地图文件以构建菜单结构。

于 2008-09-19T12:16:20.840 回答