自定义SharePoint导航,链接到列表视图

时间:2010-03-16 15:45:56

标签: sharepoint navigation

我有一个解决方案(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 - 如果可能的话,我想把它包装在我的解决方案中,如果没有,不用担心......

感谢所有指针!

2 个答案:

答案 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来设置菜单样式。

http://sharepoint2010customnavigation.blogspot.com/