在SharePoint 2013中创建自定义顶部导航菜单
本技巧将教你如何使用自定义列表和用户控件在SharePoint 2013中创建自定义顶部导航菜单。
引言
请按照以下步骤在SharePoint 2013中创建自定义顶部导航菜单。
- 创建一个自定义列表。
- 创建用户控件以读取列表中的所有项目并创建菜单结构XML。
- 创建一个委托控件,以便在母版页中调用用户控件。
- 为菜单创建一个自定义样式表。
创建自定义列表
按照以下步骤创建自定义列表
- 导航到SharePoint站点内容。
- 点击“添加应用”。
- 选择自定义列表并点击创建。
- 该列表应包含屏幕截图中所述的列。
查找列引用相同的列表“title
”列。
创建用户控件
参考此链接创建用户控件 - https://msdn.microsoft.com/en-us/library/ee231548(v=vs.110).aspx
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using AHC.SP13.BICC.Webparts.Code;
namespace AHC.SP13.BICC.Webparts.ControlTemplates.AHC.SP13.BICC.Webparts
{
public partial class TopNavigationMenu : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.Page.IsPostBack)
{
MenuHelper mnu = new MenuHelper("Top Menu");
ltMenu.Text = mnu.RendMenuItems();
}
}
}
}
我已将MenuHelper.cs文件附加到本技巧中。
创建委托控件以在母版页中调用用户控件
按照以下链接创建委托控件
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Control Id="CustomMenu" Sequence="10"
ControlSrc="~/_controltemplates/15/AHC.SP13.BICC.Webparts/TopNavigationMenu.ascx"
xmlns="http://schemas.microsoft.com/sharepoint/" />
<Control Id="LoggedInUserName" Sequence="10"
ControlSrc="~/_controltemplates/15/LoggedInUser.ascx"
xmlns="http://schemas.microsoft.com/sharepoint/" />
</Elements>
在母版页中调用委托控件
在希望放置菜单的母版页中添加以下行
<!--SPM:<SharePoint:DelegateControl runat="server" ControlId="CustomMenu "/>-->
在母版页中添加以下行之前,请将附加的menu.css文件上传到样式库
<!--SPM:<SharePoint:CssRegistration Name="<
%$SPUrl:~SiteCollection/Style Library/Menu.css%>" runat="server"/>-->
历史
- 2016年7月1日:初始版本