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

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

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

有什么想法吗?

-埃杜德

有帮助吗?

解决方案

是否有任何原因导致您无法添加虚拟根节点,然后子类化 ASP.NET 菜单控件以忽略虚拟“根”节点?

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

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

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

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top