我有一个解决方案(WSP)我已经工作了很长一段时间了。我一直在使用内置工具在左侧导航菜单中创建分层导航,但我现在想真正自定义。我的菜单看起来像这样:
Menu Header 1
Link 1a
Link 1b
Menu Header 2
Link 2a
Link 2b
每个链接都链接到自定义视图,所有视图都链接到同一列表。我想做的是让导航看起来像这样:
Menu Header 1 (8)
Link 1a (3)
Link 1b (5)
Menu Header 2 (12)
Link 2a (4)
Link 2b (8)
不同之处在于我想显示每个视图包含多少列表项。我确信我必须手工编写代码,这不是问题 - 但我真的不确定从哪里开始。
有人能指出我的写作方向吗?我在我的项目中使用WSPBuilder - 如果可能的话,我想把它包装在我的解决方案中,如果没有,不用担心......
感谢所有指针!
答案 0 :(得分:1)
默认情况下,SharePoint母版页使用AspMenu控件,它只是ASP.NET Menu控件的一个瘦包装器。 AspMenu类是密封的,但代码可供下载here。根据代码,没有任何内容指向列表,但您可以使用代码编写自己的控件,然后将其放入母版页。这只是测试代码,但OnMenuItemDataBound中的以下内容可能会起作用:
SPWeb web = SPContext.Current.Web;
SPView view = web.GetViewFromUrl(e.Item.NavigateUrl);
int count = view.ParentList.GetItems(view).Count;
e.Item.Text += " (" + count.ToString() + ")";
答案 1 :(得分:0)
这是另一种使用sharepoint内置导航功能的解决方案。您可以在网站设置>导航中输入所有导航信息。然后,您可以使用asp:repeater来设置菜单样式。