65.9K
CodeProject 正在变化。 阅读更多。
Home

在SharePoint 2013中创建自定义顶部导航菜单

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.90/5 (3投票s)

2016 年 6 月 30 日

CPOL

1分钟阅读

viewsIcon

23487

downloadIcon

254

本技巧将教你如何使用自定义列表和用户控件在SharePoint 2013中创建自定义顶部导航菜单。

引言

请按照以下步骤在SharePoint 2013中创建自定义顶部导航菜单。

  1. 创建一个自定义列表。
  2. 创建用户控件以读取列表中的所有项目并创建菜单结构XML。
  3. 创建一个委托控件,以便在母版页中调用用户控件。
  4. 为菜单创建一个自定义样式表。

创建自定义列表

按照以下步骤创建自定义列表

  1. 导航到SharePoint站点内容。
  2. 点击“添加应用”。
  3. 选择自定义列表并点击创建。
  4. 该列表应包含屏幕截图中所述的列。

查找列引用相同的列表“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="&#60;
%$SPUrl:~SiteCollection/Style Library/Menu.css%&#62;" runat="server"/>-->

历史

  • 2016年7月1日:初始版本
© . All rights reserved.