【问题标题】:Custom SharePoint 2007 Subsite Navigation Control自定义 SharePoint 2007 子网站导航控件
【发布时间】:2012-08-11 05:39:20
【问题描述】:

我被要求创建一个允许在 SharePoint 2007 网站的子网站之间进行自定义导航的 asp.net UserControl。这些网站模仿了一个学校结构,每个学期都有不同的班级。这是网站结构的简化版本:

Site Root
    Search
    Semester1
        Class Group 1
            Class 1
                Page1.aspx
                Page2.aspx
            Class 2
                Page1.aspx
                Page2.aspx
        Class Group 2
            Class 3
                Page1.aspx
                Page2.aspx
            Class 4
                Page1.aspx
                Page2.aspx
    Semester2
        Class Group 1
            Class 1
                Page1.aspx
                Page2.aspx
            Class 2
                Page1.aspx
                Page2.aspx
        Class Group 2
            Class 3
                Page1.aspx
                Page2.aspx
            Class 4
                Page1.aspx
                Page2.aspx
    Some Other Subsites

UserControl 将放置在类的 .aspx 页面上。其目的是允许用户导航到不同类组之间的相同页面。

例如假设我在 Semester1/Class Group 1/Class 1/Page2.aspx。 UserControl 将允许我选择 Semester1 下的任何其他课程。选择后,它会自动导航到[选定的类]/Page2.aspx(因为我目前在 Page2.aspx 上)。

在今天之前,我从未使用过 SiteMapProvider。到目前为止,我只设法以编程方式遍历站点结构并使用默认的 CombinedNavSiteMapProvider PortalSiteMapProvider 将简单的站点地图打印到页面。我认为我需要但不知道该怎么做的是:

  • 获取/构建部分站点地图数据结构,其中根节点是当前页面的父学期。如有必要,这可以是我自己在代码中构建的数据结构。我想将此绑定到菜单控件。此外,我希望根菜单项具有自定义文本,例如“更改课程”而不是第 1 学期。

从那里,我想我可以使用菜单事件来处理导航。如果我在 Semester1/Class Group 1/Class 1/Page2.aspx,则 UserControl 的菜单示例:

    Change Class
        Class Group 1
            Class 1
            Class 2
        Class Group 2
            Class 3
            Class 4

我怎样才能完成上面的项目符号?

【问题讨论】:

    标签: c# sharepoint-2007 navigation sitemapprovider


    【解决方案1】:

    我没有发现任何优雅的东西。我最终将一个 asp.net 菜单绑定到 CombinedNavSiteMapProvider,然后在 DataBound 事件处理程序中,我修改了代码中的菜单项。我插入一个根“更改类”项,然后使用一点递归方法将任何具有子项的菜单项的 IsSelectable 设置为 false。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 2015-11-09
      • 2011-01-24
      • 2011-02-05
      相关资源
      最近更新 更多