[英]Custom SharePoint 2007 Subsite Navigation Control
我被要求创建一个asp.net UserControl,该控件允许在SharePoint 2007网站的子网站之间进行自定义导航。 这些站点模仿一个具有不同班级的学期的学校结构。 这是站点结构的简化版本:
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下的任何其他类。 选择后,它将自动导航到[selected class] /Page2.aspx(因为我目前在Page2.aspx上)。
在今天之前,我从未使用过SiteMapProvider。 到目前为止,我仅使用默认的CombinedNavSiteMapProvider PortalSiteMapProvider以编程方式遍历了网站结构,并在页面上打印了一个简单的网站地图。 我认为我需要但不确定如何做的是:
从那里开始,我认为我可以使用菜单事件来处理导航。 如果我在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
如何完成上述项目符号?
我没有发现任何优雅的东西。 我最终将asp.net菜单绑定到CombinedNavSiteMapProvider,然后在DataBound事件处理程序中,修改代码中的菜单项。 我插入一个根“ Change Class”项,然后对所有具有子项的菜单项使用一种递归方法将IsSelectable设置为false。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.