Step by step procedures to create a delegate control in SharePoint 2010


Gopi Baskar
SharePoint Architect
Published On :   07 Jan 2014
Visit Count
Today :  5    Total :   21569
Plan, Migrate, Secure, Report
SharePoint & Office 365 Tool. Simple & Easy to Use. 15-Day Trial!

Sharegate: Kick-Ass Tool
Think Your SharePoint & Office 365 Are Secure ? Find Out Now!


In this article I am going to explain in step by step on how to create new delegate control in SharePoint 2010. By default every SharePoint Master Page has couple of delegate controls. In this article we can see how to add a new delegate control to MasterPage and inject a custom control to that delegate control.

Before we start to create delegate control let us see what is the use of Delegate Control in SharePoint 2010.

Using the delegate control we can customize the SharePoint site without editing the master page by injecting user controls , scripts , css through this special type of control.

Now, let us start creating our own custom delegate controls.

In this article I will trying to customize the breadcrumb. For that, I have created a Custom User Control and injected into master page as a delegate control.

First open the Visual Studio 2010 and click New -> Project see figure 1

clip_image001

After project is created, see the web part files in figure 2. I have added the custom control wrote the custom code for the breadcrumb based on my requirement.

clip_image002

Then add the following code in the Elements.xml file.

 <?xml version="1.0" encoding="utf-8"?>
 <Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
   <!--<Module Name="CustomDelegateCtrl" List="113" Url="_catalogs/wp">
     <File Path="CustomDelegateCtrl\CustomDelegateCtrl.webpart" Url="CustomDelegateCtrl.webpart" Type="GhostableInLibrary" >
       <Property Name="Group" Value="Custom" />
     </File>
   </Module>-->
   <Control
     Id="BreadCrumb"
     Sequence="10"
     ControlSrc="~/CustomDelegateControl/CustomDelegateCtrlUserControl.ascx"/>
 </Elements>
 

Finally, I added the delegate control with my custom control ID in the Master Page. This is a onetime process and any number of custom controls can be injected to the Master Page with is delegate control Id. See the below tag.

 <SharePoint:DelegateControl runat="server" AllowMultipleControls="true" ControlId="BreadCrumb"/>

Now, try to build and activate the feature which will change the breadcrumb functionality in the site.

Download Source Code

SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Categories

Protect Your SharePoint