我正在使用ASP.NET菜单控件。我希望菜单看起来像这样,其中链接1到10在一个站点地图文件中,链接11到20在另一个站点地图文件中。
root
--link 1
(...)
--link 10
--link 11
(...)
--link 20
但是,站点地图文件必须有一个我似乎无法抑制的根。
有什么想法吗?
-Edoode
答案 0 :(得分:2)
您可以通过执行以下操作来抑制根节点:
SiteMapDataSource ds = new SiteMapDataSource();
ds.SiteMapProvider = "providername";
ds.ShowStartingNode = false;
TreeView1.DataSource = ds;
TreeView1.DataBind();
我使用此方法隐藏树视图的根节点。
答案 1 :(得分:1)
是否有任何理由不能添加虚拟根节点,然后继承ASP.NET菜单控件以忽略虚拟“根”节点?
您应该能够告诉您的SiteMapProvider为菜单使用不同的站点地图。
我的另一个问题是拥有多个站点地图文件的目的是什么?我确信你有充分的理由,但知道发生了什么会让它更容易理解并提出更好的解决方案。
话虽这么说,我会想出一个自己开发的菜单系统。您可以在前端使用jQuery和superfish插件,并使用C#读取后端的站点地图文件以构建菜单结构。