Search This Blog

Friday, September 19, 2014

SharePoint 2013 New Delegate Control


What is Delegate control

  1. Delegate controls available in a SharePoint allow branding or substitution of common elements without altering master page.
  2. Substitute registered with control with lowest sequence number based on control ID.(Microsoft - here the default value is 100 so your sequence must be lower than this for your control to be loaded instead.)
  3. Parameters can be passed to the control via the declaration http://msdn.microsoft.com/en-us/library/ms463169.aspx

Type of Delegate 

  1. Multi Delegate (Delegate Control load more than one user/server control.) 
  2. Single Delegate 
Multi Delegate: If delegate contains the “AllowMultipleControls="true" ” attribute in the markup; It means the control is multi delegate control. it loads more than one user/server control, that has registered as lowest sequence number.

Single Delegate: If delegate without “AllowMultipleControls="true" ” attribute in the markup; It means the controls only replace with the user control; that has registered as lowest sequence number.

HTML Example of Delegate control

<SharePoint:DelegateControl id="ID_SuiteLinksDelegate" ControlId="SuiteLinksDelegate" runat="server" />

Following are the list of Delegate Controls available in SharePoint 2010, Highlighted are newly added in SharePoint 2013. 

  1. AdditionalPageHead 
  2. GlobalSiteLink0
  3. GlobalSiteLink2
  4. GlobalSiteLink3
  5. PublishingConsole
  6. PageHeader
  7. TopNavigationDataSource
  8. TreeViewAndDataSource
  9. PageFooter
  10. QuickLaunchDataSource
  11. SmallSearchInputBox
  12. GlobalNavigation
  13. SuiteBarBrandingDelegate (2013)
  14. SuiteLinksDelegate(2013)
  15. PromotedActions(2013)
I have created the solution that implemented SuiteBarBrandingDelegate, SuiteLinksDelegate and PromotedActions.

SuiteBarBrandingDelegate: It will change the top left bar. Here in my example I replace "SharePoint" with "My SharePoint Site".
This is the HTML of the delegate control.



Replace this with 

SuiteLinksDelegate: Replace the left top links bar with custom links. As showing in the below images. Replace "Newsfeed, SkyDrive, Sites" with "About Us, Contact Us, Feedback" links.

Master Page SuiteLinksDelegate  HTML markup.



Replace with  with Image.

PromotedActions:  This is multi delegate control. Added link between "Share" and "Follow" links ie "Facebook" link. As showing below.

This is the HTML of the delegate control.


Replace this  with

Feature Element file



Header before

After apply delegate control

Visual Studio Project



Most of the developer even don't know the power of delegate control.

There are the different master pages available in the SharePoint 2013, so it could be possible you would not found all the above delegate control in master page. ex. "v4.master" page not containing the "PromotedActions" delegate control. This is only available in "oslo.master" page.

In SharePoint 2013 SharePoint:AjaxDelta wrapping all our favorite Delegate Controls and other elements in the Master Page. So now delegate control comes under the"SharePoint 2013 Minimal Download Strategy (MSD)" 

Attached code with this Post.

No comments:

Post a Comment