May 03, 2012

Custom Masterpage


In this post I am going to try to show step by step how to DEPLOY a master page with visual studio by using a feature. This feature can be activated and deactivated from anywhere programmatically


STEP 1:
Creating your Visual Studio Solution
  • Open Visual Studio 2010
  • Create the Project
    From the File menu, choose New > Project and in the New Project dialog, navigate the Installed Templates to locate Visual C# > SharePoint > 2010. Select the Empty SharePoint Project and name your new project "SampleMasterPage". Click OK



STEP 2:


Specify the site and security level.In the SharePoint Customization Wizard, specify the site to use for debugging. This site is also the default site to which Visual Studio will deploy when issuing the Deploy command. Finally, choose to Deploy as a Farm solution. Click Finish.


STEP 3:


Creating a Feature
When the module creates, it will include two new files. Element.xml is the element manifest file for the feature and provides instructions for deploying files into SharePoint. The Sample.txt file is a sample file.
Right click Project-> Add Feature
STEP 4:
Change the scope to site from web
STEP 5:
Right click Features ->Add event Receiver
      
STEP 7:


In feature.Features,Click overwrite generated xml and edit manifest in xml editor
Now open Feature.xml and apply ImageUrl="\foldername\logo.jpg"









Note:The logo will be displayed for the Features we created in Project

Ex:http://sp05:1818/_layouts/ManageFeatures.aspx?Scope=Site

STEP 8:

Modify the Elements.xml.Visual Studio will attempt to create a schema for you but it's not quite what we want so we will make a few manual changes. Change your file to look like this:
<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Module Name="VCSB_MOSS" Url="_catalogs/masterpage">

    <File Path="VCSB_MOSS\_catalogs\masterpage\VCSBIntranetMaster.master"

    Url="VCSBIntranetMaster.master"   Type="GhostableInLibrary" />
 
 </Module>
</Elements>

STEP 9:

Right click the Project and add Sharepoint Images Mapped folder

STEP 10:
Go to your project, right click and add new item, select Module from the Sharepoint 2010 templates menu and call it SampleMasterPage.


STEP 11:

Go to the sample.txt file, just below elements.xml, open it, remove everything inside the file and copy and paste this master page code:

<%@Master Language="C#"%>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ Import Namespace="Microsoft.SharePoint" %>



<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages"

Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Register TagPrefix="wssuc" TagName="Welcome" Src="~/_controltemplates/Welcome.ascx" %>

<%@ Register TagPrefix="wssuc" TagName="DesignModeConsole" Src="~/_controltemplates/DesignModeConsole.ascx" %>

<%@ Register TagPrefix="wssuc" TagName="MUISelector" Src="~/_controltemplates/MUISelector.ascx" %>


<%@ Register TagPrefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation"


Assembly="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<html id="Html1" lang="<%$Resources:wss,language_value%>" dir="<%$Resources:wss,multipages_direction_dir_value%>" runat="server" xmlns:o="urn:schemas-microsoft-com:office:office">
<head id="Head1" runat="server">


<meta http-equiv="X-UA-Compatible" content="IE=8" />


<meta name="GENERATOR" content="Microsoft SharePoint" />


<meta name="progid" content="SharePoint.WebPartPage.Document" />


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<meta http-equiv="Expires" content="0" />


<SharePoint:RobotsMetaTag ID="RobotsMetaTag1" runat="server" />


<title id="onetidTitle">

<asp:ContentPlaceHolder ID="PlaceHolderPageTitle" runat="server" />


</title>


<SharePoint:CssLink ID="CssLink1" runat="server" Version="4" />


<SharePoint:Theme ID="Theme1" runat="server" />


<SharePoint:ULSClientConfig ID="ULSClientConfig1" runat="server" />


<script type="text/javascript">
var _fV4UI = true;

   
</script>


<link href="/_layouts/Styles/VCSB/style.css" rel="stylesheet" type="text/css" />


<SharePoint:CssRegistration ID="Cssregistration1" Name="/_layouts/Styles/VCSB/Blog.css"


After="corev4.css" runat="server" />

<style type="text/css">
/*–Hide Quick Launch –*/
#s4-leftpanel
{
display: none;
}
.s4-ca
{
margin-left: 0px;
}


</style>

<style type="text/css">
body.v4master
{
overflow: visible;
background-color:#f2f2f2;
}
#s4-bodyContainer
{
position: relative;
}

body #s4-ribbonrow
{
color: #000000;
background-color: silver;
}
.s4-trc-container-menu
{
margin: 0;
padding: 0;
border: none;
color: #ffffff;
}
body
{
overflow: auto;
}
form
{
width: 100%;
margin-left: auto;
margin-right: auto;
}
.ms-dialog body #s4-workspace
{
overflow: auto !important;
background-color: #ffffff;
}
#wel-si *
{
color: #000000;
background-color: #ebebeb;
}


</style>

<script type="text/C#" runat="server">
void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (IsDramisSiteAdmin()) pnlRibbon.Visible = true; else pnlRibbon.Visible = false;
}
}
public static bool IsDramisSiteAdmin()
{
SPContext currentContext;
try
{
//Getting the current context
currentContext = SPContext.Current;
}
catch (InvalidOperationException)
{
currentContext = null;
}
if (currentContext != null && currentContext.Web.CurrentUser != null)
{
if (SPContext.Current.Web.CurrentUser.IsSiteAdmin)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}


</script>

<SharePoint:ScriptLink ID="ScriptLink1" Language="javascript" Name="core.js" OnDemand="true"

runat="server" />

<SharePoint:CustomJSUrl ID="CustomJSUrl1" runat="server" />

<SharePoint:SoapDiscoveryLink ID="SoapDiscoveryLink1" runat="server" />

<asp:ContentPlaceHolder ID="PlaceHolderAdditionalPageHead" runat="server">

</asp:ContentPlaceHolder>

<SharePoint:DelegateControl ID="DelegateControl1" runat="server" ControlId="AdditionalPageHead"

AllowMultipleControls="true" />

<SharePoint:SPShortcutIcon ID="SPShortcutIcon1" runat="server" IconUrl="/_layouts/images/favicon.ico" />

<asp:ContentPlaceHolder ID="PlaceHolderBodyAreaClass" runat="server" />

<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaClass" runat="server" />

<SharePoint:SPPageManager ID="SPPageManager1" runat="server" />

<SharePoint:SPHelpPageComponent ID="SPHelpPageComponent1" Visible="false" runat="server" />
</head>
<body onload="if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();"

class="v4master">

<form id="Form1" runat="server" onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}">

<asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true"

EnableScriptGlobalization="false" EnableScriptLocalization="true" />

<WebPartPages:SPWebPartManager ID="m" runat="Server" />

<SharePoint:SPNoScript ID="SPNoScript1" runat="server" />

<div id="TurnOnAccessibility" style="display: none" class="s4-notdlg noindex">

<a id="linkTurnOnAcc" href="#" class="ms-TurnOnAcc" onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();document.getElementById('linkTurnOffAcc').focus();return false;">

<SharePoint:EncodedLiteral ID="EncodedLiteral1" runat="server" Text="<%$Resources:wss,master_turnonaccessibility%>"

EncodeMethod="HtmlEncode" /></a>

</div>

<div id="TurnOffAccessibility" style="display: none" class="s4-notdlg noindex">

<a id="linkTurnOffAcc" href="#" class="ms-TurnOffAcc" onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();document.getElementById('linkTurnOnAcc').focus();return false;">

<SharePoint:EncodedLiteral ID="EncodedLiteral2" runat="server" Text="<%$Resources:wss,master_turnoffaccessibility%>"

EncodeMethod="HtmlEncode" /></a>

</div>

<div class="s4-notdlg s4-skipribbonshortcut noindex" style="display: none">

<a id="A1" href="javascript:;" onclick="javascript:this.href='#startNavigation';"

class="ms-SkiptoNavigation" accesskey="<%$Resources:wss,skipribbon_accesskey%>"

runat="server">

<SharePoint:EncodedLiteral ID="EncodedLiteral3" runat="server" EncodeMethod="HtmlEncode" /></a>

</div>

<div class="s4-notdlg noindex" style="display: none">

<a id="A2" href="javascript:;" onclick="javascript:this.href='#mainContent';" class="ms-SkiptoMainContent"

accesskey="<%$Resources:wss,maincontent_accesskey%>" runat="server">

<SharePoint:EncodedLiteral ID="EncodedLiteral4" runat="server" EncodeMethod="HtmlEncode" /></a>

</div>

<a id="HiddenAnchor" href="javascript:;" style="display: none;"></a>

<SharePoint:DelegateControl ID="DelegateControl2" runat="server" ControlId="GlobalNavigation" />

<div class="main_full">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td>

<div id="eis-header" class="s4-notdlg">

<asp:Panel ID="pnlHeader" runat="server">

<!-- NOTE: any time you see s4-notdlg, this element will be hidden from SharePoint dialog windows -->

<SharePoint:SPLinkButton ID="Splinkbutton1" runat="server" NavigateUrl="~sitecollection/">
<HEADER MENU>
<div class="header_main">

<div class="header">

<div class="logo">
         

<img src="/_layouts/Images/VCSB/logo.jpg" width="276" height="54" />
                 

</div>

<div class="search_mg">

<div class="search_bg_btn">

<input name="" type="image" src="/_layouts/Images/VCSB/search_bg.jpg" alt="search" align="left" /></div>

<div class="search_bg">

<input name="" type="text" class="box_ser" /></div>

</div>

<div class="clear">

</div>

</div>

</div>
        
</SharePoint:SPLinkButton>

</asp:Panel>

</div>
<END OF HEADER MENU>
<!-- search box loads from delegate, style with CSS -->

<div id="eis-searchbar" class="s4-notdlg">

<asp:contentplaceholder id="PlaceHolderSearchArea" runat="server" visible="false">

<SharePoint:DelegateControl ID="DelegateControl3" runat="server" ControlId="SmallSearchInputBox"

Version="4" />

</asp:contentplaceholder>

<!-- Welcome / Login control -->

<div id="eis-login" class="s4-trc-container-menu">

<div id="wel-si">

<br />

<asp:panel id="pnlwelcome" runat="server">

<wssuc:welcome id="IdWelcome" runat="server" enableviewstate="false">

</wssuc:welcome>

</asp:panel>

</div>

</div>

</div>

</td>

</tr>

<tr>

<td>

<div style="width: 100%">

<asp:Panel ID="pnlMenu" runat="server">
<SIDE MENU>
<div class="menu_main">

<div class="menu_left">

</div>

<div class="menu_bg">

<ul>

<li><a href="/Pages/DepartmentPage.aspx">Home </a></li>

<li><a href="#">Department Pages</a></li>

<li><a href="#">Apps</a></li>

</ul>

</div>

<div class="menu_right">

<ul>

<li>Monday April 30 2012 10:38:31 AM</li>

<li>Logout</li>

</ul>

</div>


</div>
<END OF SIDE MENU>
</asp:Panel>

</div>

</td>

</tr>

<tr>

<td style="width: 100%">

<SharePoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" PermissionsString="ManagePermissions"

runat="server">

<asp:Panel ID="pnlRibbonPDF" runat="server">

<asp:Panel ID="pnlRibbon" Visible="false" runat="server">

<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">

<div id="s4-ribboncont">

<SharePoint:SPRibbon ID="SPRibbon1" runat="server" PlaceholderElementId="RibbonContainer"

CssFile="">

<SharePoint:SPRibbonPeripheralContent ID="SPRibbonPeripheralContent1" runat="server"

Location="TabRowLeft" CssClass="ms-siteactionscontainer s4-notdlg">

<span class="ms-siteactionsmenu" id="siteactiontd">

                                               
<SharePoint:SiteActions runat="server" AccessKey="<%$Resources:wss,tb_SiteActions_AK%>"

ID="SiteActionsMenuMain" PrefixHtml="" SuffixHtml="" MenuNotVisibleHtml="&amp;nbsp;">

<CustomTemplate>

<SharePoint:FeatureMenuTemplate ID="FeatureMenuTemplate1" runat="server" FeatureScope="Site"

Location="Microsoft.SharePoint.StandardMenu" GroupId="SiteActions" UseShortId="true">

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_EditPage" Text="<%$Resources:wss,siteactions_editpage%>"

Description="<%$Resources:wss,siteactions_editpagedescriptionv4%>" ImageUrl="/_layouts/images/ActionsEditPage.png"

MenuGroupId="100" Sequence="110" ClientOnClickNavigateUrl="javascript:ChangeLayoutMode(false);" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_TakeOffline" Text="<%$Resources:wss,siteactions_takeoffline%>"

Description="<%$Resources:wss,siteactions_takeofflinedescription%>" ImageUrl="/_layouts/images/connecttospworkspace32.png"

MenuGroupId="100" Sequence="120" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_CreatePage" Text="<%$Resources:wss,siteactions_createpage%>"

Description="<%$Resources:wss,siteactions_createpagedesc%>" ImageUrl="/_layouts/images/NewContentPageHH.png"

MenuGroupId="200" Sequence="210" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('Page')) { OpenCreateWebPageDialog('~site/_layouts/createwebpage.aspx') }"

PermissionsString="AddListItems, EditListItems" PermissionMode="All" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_CreateDocLib" Text="<%$Resources:wss,siteactions_createdoclib%>"

Description="<%$Resources:wss,siteactions_createdoclibdesc%>" ImageUrl="/_layouts/images/NewDocLibHH.png"

MenuGroupId="200" Sequence="220" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('DocLib')) { GoToPage('~site/_layouts/new.aspx?FeatureId={00bfea71-e717-4e80-aa17-d0c71b360101}&amp;ListTemplate=101') }"

PermissionsString="ManageLists" PermissionMode="Any" VisibilityFeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_CreateSite" Text="<%$Resources:wss,siteactions_createsite%>"

Description="<%$Resources:wss,siteactions_createsitedesc%>" ImageUrl="/_layouts/images/newweb32.png"

MenuGroupId="200" Sequence="230" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('Site')) { STSNavigate('~site/_layouts/newsbweb.aspx') }"

PermissionsString="ManageSubwebs,ViewFormPages" PermissionMode="All" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_Create" Text="<%$Resources:wss,siteactions_create%>"

Description="<%$Resources:wss,siteactions_createdesc%>" MenuGroupId="200" Sequence="240"

UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="if (LaunchCreateHandler('All')) { STSNavigate('~site/_layouts/create.aspx') }"

PermissionsString="ManageLists, ManageSubwebs" PermissionMode="Any" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_ViewAllSiteContents" Text="<%$Resources:wss,quiklnch_allcontent%>"

Description="<%$Resources:wss,siteactions_allcontentdescription%>" ImageUrl="/_layouts/images/allcontent32.png"

MenuGroupId="300" Sequence="302" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/viewlsts.aspx"

PermissionsString="ViewFormPages" PermissionMode="Any" />
<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_EditSite" Text="<%$Resources:wss,siteactions_editsite%>"

Description="<%$Resources:wss,siteactions_editsitedescription%>" ImageUrl="/_layouts/images/SharePointDesigner32.png"

MenuGroupId="300" Sequence="304" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="EditInSPD('~site/',true);"

PermissionsString="AddAndCustomizePages" PermissionMode="Any" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_SitePermissions" Text="<%$Resources:wss,people_sitepermissions%>"

Description="<%$Resources:wss,siteactions_sitepermissiondescriptionv4%>" ImageUrl="/_layouts/images/Permissions32.png"

MenuGroupId="300" Sequence="310" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/user.aspx"

PermissionsString="EnumeratePermissions" PermissionMode="Any" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_Settings" Text="<%$Resources:wss,settings_pagetitle%>"

Description="<%$Resources:wss,siteactions_sitesettingsdescriptionv4%>" ImageUrl="/_layouts/images/settingsIcon.png"

MenuGroupId="300" Sequence="320" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/settings.aspx"

PermissionsString="EnumeratePermissions,ManageWeb,ManageSubwebs,AddAndCustomizePages,ApplyThemeAndBorder,ManageAlerts,ManageLists,ViewUsageData"

PermissionMode="Any" />

<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_CommitNewUI" Text="<%$Resources:wss,siteactions_commitnewui%>"

Description="<%$Resources:wss,siteactions_commitnewuidescription%>" ImageUrl="/_layouts/images/visualupgradehh.png"

MenuGroupId="300" Sequence="330" UseShortId="true" ClientOnClickScriptContainingPrefixedUrl="GoToPage('~site/_layouts/prjsetng.aspx')"

PermissionsString="ManageWeb" PermissionMode="Any" ShowOnlyIfUIVersionConfigurationEnabled="true" />

</SharePoint:FeatureMenuTemplate>

</CustomTemplate>

</SharePoint:SiteActions>

</span>

<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigation" runat="server">

<SharePoint:PopoutMenu runat="server" ID="GlobalBreadCrumbNavPopout" IconUrl="/_layouts/images/fgimg.png"

IconAlt="<%$Resources:wss,master_breadcrumbIconAlt%>" IconOffsetX="0" IconOffsetY="112"

IconWidth="16" IconHeight="16" AnchorCss="s4-breadcrumb-anchor" AnchorOpenCss="s4-breadcrumb-anchor-open"

MenuCss="s4-breadcrumb-menu">

<div class="s4-breadcrumb-top">

<asp:Label ID="Label1" runat="server" CssClass="s4-breadcrumb-header" Text="<%$Resources:wss,master_breadcrumbHeader%>" />

</div>

<asp:ContentPlaceHolder ID="PlaceHolderTitleBreadcrumb" runat="server">

<SharePoint:ListSiteMapPath ID="ListSiteMapPath1" runat="server" SiteMapProviders="SPSiteMapProvider,SPContentMapProvider"

RenderCurrentNodeAsLink="false" PathSeparator="" CssClass="s4-breadcrumb" NodeStyle-CssClass="s4-breadcrumbNode"

CurrentNodeStyle-CssClass="s4-breadcrumbCurrentNode" RootNodeStyle-CssClass="s4-breadcrumbRootNode"

NodeImageOffsetX="0" NodeImageOffsetY="353" NodeImageWidth="16" NodeImageHeight="16"

NodeImageUrl="/_layouts/images/fgimg.png" RTLNodeImageOffsetX="0" RTLNodeImageOffsetY="376"

RTLNodeImageWidth="16" RTLNodeImageHeight="16" RTLNodeImageUrl="/_layouts/images/fgimg.png"

HideInteriorRootNodes="true" SkipLinkText="" />

</asp:ContentPlaceHolder>

</SharePoint:PopoutMenu>

<div class="s4-die">

<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigationSiteMap" runat="server" Visible="false">

</asp:ContentPlaceHolder>

</div>

</asp:ContentPlaceHolder>

<SharePoint:PageStateActionButton ID="PageStateActionButton" runat="server" Visible="false" />

</SharePoint:SPRibbonPeripheralContent>

<SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight"

CssClass="s4-trc-container s4-notdlg">

<SharePoint:DelegateControl runat="server" ID="GlobalDelegate0" ControlId="GlobalSiteLink0" />

<a href="#" tabindex="-1" style="display: none"></a><a href="#" tabindex="-1" style="display: none">

</a>

<SharePoint:DelegateControl ControlId="GlobalSiteLink2" ID="GlobalDelegate2" Scope="Farm"

runat="server" />

<span><span class="s4-devdashboard">

<SharePoint:DeveloperDashboardLauncher ID="DeveloperDashboardLauncher" NavigateUrl="javascript:ToggleDeveloperDashboard()"

runat="server" ImageUrl="/_layouts/images/fgimg.png" Text="<%$Resources:wss,multipages_launchdevdashalt_text%>"

OffsetX="0" OffsetY="222" Height="16" Width="16" />

</span></span>

</SharePoint:SPRibbonPeripheralContent>

</SharePoint:SPRibbon>

</div>

<div id="notificationArea" class="s4-noti">

</div>

<asp:ContentPlaceHolder ID="SPNavigation" runat="server">

<SharePoint:DelegateControl runat="server" ControlId="PublishingConsole" ID="PublishingConsoleDelegate">

</SharePoint:DelegateControl>

</asp:ContentPlaceHolder>

<div id="WebPartAdderUpdatePanelContainer">

<asp:UpdatePanel ID="WebPartAdderUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="false"

runat="server">

<contenttemplate>

<WebPartPages:WebPartAdder ID="WebPartAdder" runat="server" />

</contenttemplate>

<triggers>

<asp:PostBackTrigger ControlID="WebPartAdder" />

</triggers>

</asp:UpdatePanel>

</div>

</div>

</asp:Panel>

</asp:Panel>

</SharePoint:SPSecurityTrimmedControl>

<div id="s4-workspace" class="s4-nosetwidth">

<div id="s4-bodyContainer" style="width: 100%">

<div id="s4-titlerow" style="display: none" class="s4-pr s4-notdlg s4-titlerowhidetitle">

<div class="s4-title s4-lp">

<div class="s4-title-inner">

<table class="s4-titletable" cellspacing="0">

<tbody>

<tr>

<td class="s4-titlelogo">

<SharePoint:SPLinkButton runat="server" NavigateUrl="/Pages/LandingPage.aspx" ID="onetidProjectPropertyTitleGraphic">

<SharePoint:SiteLogoImage name="onetidHeadbnnr0" ID="onetidHeadbnnr2" LogoImageUrl="/_layouts/images/siteIcon.png"

runat="server" />

</SharePoint:SPLinkButton>

</td>

<td class="s4-titletext">

<h1 name="onetidProjectPropertyTitle">

<asp:ContentPlaceHolder ID="PlaceHolderSiteName" runat="server">

<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" ID="onetidProjectPropertyTitle">

<SharePoint:ProjectProperty ID="ProjectProperty1" Property="Title" runat="server" />

</SharePoint:SPLinkButton>

</asp:ContentPlaceHolder>

</h1>

<span id="onetidPageTitleSeparator" class="s4-nothome s4-bcsep s4-titlesep">

<SharePoint:ClusteredDirectionalSeparatorArrow ID="ClusteredDirectionalSeparatorArrow1"

runat="server" />

</span>

<h2>

<asp:ContentPlaceHolder ID="PlaceHolderPageTitleInTitleArea" runat="server" />

</h2>

<div class="s4-pagedescription" tabindex="0">

<asp:ContentPlaceHolder ID="PlaceHolderPageDescription" runat="server" />

</div>

</td>

<td class="s4-socialdata-notif">

<SharePoint:DelegateControl ID="DelegateControl4" ControlId="GlobalSiteLink3" Scope="Farm"

runat="server" />

</td>

</tr>

</tbody>

</table>

</div>

</div>

<div id="s4-topheader2" class="s4-pr s4-notdlg">

<a name="startNavigation"></a>

<div class="s4-rp s4-app">

</div>

<div class="s4-lp s4-toplinks">

<asp:ContentPlaceHolder ID="PlaceHolderTopNavBar" runat="server">

<asp:ContentPlaceHolder ID="PlaceHolderHorizontalNav" runat="server">

<SharePoint:AspMenu ID="TopNavigationMenuV4" runat="server" EnableViewState="false"

DataSourceID="topSiteMap" AccessKey="<%$Resources:wss,navigation_accesskey%>"

UseSimpleRendering="true" UseSeparateCSS="false" Orientation="Horizontal" StaticDisplayLevels="2"

MaximumDynamicDisplayLevels="1" SkipLinkText="" CssClass="s4-tn" />

<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" ID="topNavigationDelegate">

<Template_Controls>

<asp:SiteMapDataSource ShowStartingNode="False" SiteMapProvider="SPNavigationProvider"

ID="topSiteMap" runat="server" StartingNodeUrl="sid:1002" />

</Template_Controls>

</SharePoint:DelegateControl>

</asp:ContentPlaceHolder>

</asp:ContentPlaceHolder>

</div>

</div>

</div>

<div id="s4-statusbarcontainer">

<div id="pageStatusBar" class="s4-status-s1">

</div>

</div>

<SharePoint:VisualUpgradePreviewStatus ID="VisualUpgradePreviewStatus1" runat="server" />

<div id="s4-mainarea" class="s4-pr s4-widecontentarea">

<div id="s4-leftpanel" class="s4-notdlg" style="display: none;">

<div id="s4-leftpanel-content">

<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarDataSource" runat="server" />

<asp:ContentPlaceHolder ID="PlaceHolderCalendarNavigator" runat="server" />

<asp:ContentPlaceHolder ID="PlaceHolderLeftActions" runat="server">

</asp:ContentPlaceHolder>

<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarTop" runat="server" />

<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBar" Visible="false" runat="server">

<div class="ms-quicklaunchouter">

<div class="ms-quickLaunch">

<asp:ContentPlaceHolder ID="PlaceHolderQuickLaunchTop" runat="server">

<SharePoint:UIVersionedContent ID="UIVersionedContent1" UIVersion="3" runat="server">

<contenttemplate>

<h3 class="ms-standardheader"><label class="ms-hidden"><SharePoint:EncodedLiteral ID="EncodedLiteral5" runat="server" text="<%$Resources:wss,quiklnch_pagetitle%>" EncodeMethod="HtmlEncode"/></label>

<Sharepoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl1" runat="server" PermissionsString="ViewFormPages">

<div class="ms-quicklaunchheader"><SharePoint:SPLinkButton id="idNavLinkViewAll" runat="server" NavigateUrl="~site/_layouts/viewlsts.aspx" Text="<%$Resources:wss,quiklnch_allcontent%>" accesskey="<%$Resources:wss,quiklnch_allcontent_AK%>"/></div>

</SharePoint:SPSecurityTrimmedControl>

</h3>

</contenttemplate>

</SharePoint:UIVersionedContent>

</asp:ContentPlaceHolder>

<SharePoint:SPNavigationManager ID="QuickLaunchNavigationManager" runat="server"

Visible="false" QuickLaunchControlId="QuickLaunchMenu" ContainedControl="QuickLaunch"
EnableViewState="false" CssClass="ms-quicklaunch-navmgr">

<div>

<SharePoint:DelegateControl ID="DelegateControl5" runat="server" ControlId="QuickLaunchDataSource">

<Template_Controls>

<asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider" ShowStartingNode="False"

ID="QuickLaunchSiteMap" StartingNodeUrl="sid:1025" runat="server" />

</Template_Controls>

</SharePoint:DelegateControl>

<SharePoint:UIVersionedContent ID="UIVersionedContent2" UIVersion="3" runat="server">

<contenttemplate>

<SharePoint:AspMenu

id="QuickLaunchMenu"

runat="server"

DataSourceId="QuickLaunchSiteMap"

Orientation="Vertical"

StaticDisplayLevels="2"

ItemWrap="true"

MaximumDynamicDisplayLevels="0"

StaticSubMenuIndent="0"

SkipLinkText=""

CssClass="s4-die"

>

<LevelMenuItemStyles>

<asp:MenuItemStyle CssClass="ms-navheader"/>

<asp:MenuItemStyle CssClass="ms-navitem"/>

</LevelMenuItemStyles>

<LevelSubMenuStyles>

<asp:SubMenuStyle CssClass="ms-navSubMenu1"/>

<asp:SubMenuStyle CssClass="ms-navSubMenu2"/>

</LevelSubMenuStyles>

<LevelSelectedStyles>

<asp:MenuItemStyle CssClass="ms-selectednavheader"/>

<asp:MenuItemStyle CssClass="ms-selectednav"/>

</LevelSelectedStyles>

</SharePoint:AspMenu>

</contenttemplate>

</SharePoint:UIVersionedContent>

<SharePoint:UIVersionedContent ID="UIVersionedContent3" UIVersion="4" runat="server">

<contenttemplate>

<SharePoint:AspMenu

id="V4QuickLaunchMenu"

runat="server"

EnableViewState="false"

DataSourceId="QuickLaunchSiteMap"

UseSimpleRendering="true"

UseSeparateCss="false"

Orientation="Vertical"

StaticDisplayLevels="2"

MaximumDynamicDisplayLevels="0"

SkipLinkText=""

CssClass="s4-ql" />

</contenttemplate>

</SharePoint:UIVersionedContent>

</div>

</SharePoint:SPNavigationManager>

<SharePoint:UIVersionedContent ID="UIVersionedContent4" runat="server" UIVersion="3">

<contenttemplate>

<Sharepoint:SPNavigationManager

id="TreeViewNavigationManager"

runat="server"

ContainedControl="TreeView">

<table class="ms-navSubMenu1" cellpadding="0" cellspacing="0" border="0">

<tr>

<td>

<table class="ms-navheader" width="100%" cellpadding="0" cellspacing="0" border="0">

<tr>

<td nowrap="nowrap" id="idSiteHierarchy">

<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/viewlsts.aspx" id="idNavLinkSiteHierarchy" Text="<%$Resources:wss,treeview_header%>" accesskey="<%$Resources:wss,quiklnch_allcontent_AK%>"/>

</td>

</tr>

</table>

</td>

</tr>

</table>

<div class="ms-treeviewouter">

<SharePoint:DelegateControl ID="DelegateControl6" runat="server" ControlId="TreeViewAndDataSource">

<Template_Controls>

<SharePoint:SPHierarchyDataSourceControl

runat="server"

id="TreeViewDataSource"

RootContextObject="Web"

IncludeDiscussionFolders="true"

/>

<SharePoint:SPRememberScroll runat="server" id="TreeViewRememberScroll" onscroll="javascript:_spRecordScrollPositions(this);" style="overflow: auto;height: 400px;width: 150px; ">

<Sharepoint:SPTreeView

id="WebTreeView"

runat="server"

ShowLines="false"

DataSourceId="TreeViewDataSource"

ExpandDepth="0"

SelectedNodeStyle-CssClass="ms-tvselected"

NodeStyle-CssClass="ms-navitem"

NodeStyle-HorizontalPadding="2"

SkipLinkText=""

NodeIndent="12"

ExpandImageUrl="/_layouts/images/tvplus.gif"

CollapseImageUrl="/_layouts/images/tvminus.gif"

NoExpandImageUrl="/_layouts/images/tvblank.gif"

>

</Sharepoint:SPTreeView>

</Sharepoint:SPRememberScroll>

</Template_Controls>

</SharePoint:DelegateControl>

</div>

</Sharepoint:SPNavigationManager>

</contenttemplate>

</SharePoint:UIVersionedContent>

<SharePoint:UIVersionedContent ID="UIVersionedContent5" runat="server" UIVersion="4">

<contenttemplate>

<Sharepoint:SPNavigationManager

id="TreeViewNavigationManagerV4"

runat="server"

ContainedControl="TreeView"

CssClass="s4-treeView"

>

<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/viewlsts.aspx" id="idNavLinkSiteHierarchyV4" Text="<%$Resources:wss,treeview_header%>" accesskey="<%$Resources:wss,quiklnch_allcontent_AK%>" CssClass="s4-qlheader" />

<div class="ms-treeviewouter">

<SharePoint:DelegateControl ID="DelegateControl7" runat="server" ControlId="TreeViewAndDataSource">

<Template_Controls>

<SharePoint:SPHierarchyDataSourceControl

runat="server"

id="TreeViewDataSourceV4"

RootContextObject="Web"

IncludeDiscussionFolders="true"

/>

<SharePoint:SPRememberScroll runat="server" id="TreeViewRememberScrollV4" onscroll="javascript:_spRecordScrollPositions(this);" style="overflow: auto;height: 400px;width: 155px; ">

<Sharepoint:SPTreeView

id="WebTreeViewV4"

runat="server"

ShowLines="false"

DataSourceId="TreeViewDataSourceV4"

ExpandDepth="0"

SelectedNodeStyle-CssClass="ms-tvselected"

NodeStyle-CssClass="ms-navitem"

SkipLinkText=""

NodeIndent="12"

ExpandImageUrl="/_layouts/images/tvclosed.png"

ExpandImageUrlRtl="/_layouts/images/tvclosedrtl.png"

CollapseImageUrl="/_layouts/images/tvopen.png"

CollapseImageUrlRtl="/_layouts/images/tvopenrtl.png"

NoExpandImageUrl="/_layouts/images/tvblank.gif"

>

</Sharepoint:SPTreeView>

</Sharepoint:SPRememberScroll>

</Template_Controls>

</SharePoint:DelegateControl>

</div>

</Sharepoint:SPNavigationManager>

</contenttemplate>

</SharePoint:UIVersionedContent>

<asp:ContentPlaceHolder ID="PlaceHolderQuickLaunchBottom" runat="server">

<SharePoint:UIVersionedContent UIVersion="3" runat="server" ID="PlaceHolderQuickLaunchBottomV3">

<contenttemplate>

<table width="100%" cellpadding="0" cellspacing="0" border="0" class="s4-die">

<tr><td>

<table class="ms-recyclebin" width="100%" cellpadding="0" cellspacing="0" border="0">

<tr><td nowrap="nowrap">

<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/recyclebin.aspx" id="v3idNavLinkRecycleBin" ImageUrl="/_layouts/images/recycbin.gif" Text="<%$Resources:wss,StsDefault_RecycleBin%>" PermissionsString="DeleteListItems" />
</td></tr>


</table>


</td></tr>


</table>


</contenttemplate>


</SharePoint:UIVersionedContent>


<SharePoint:UIVersionedContent UIVersion="4" runat="server" ID="PlaceHolderQuickLaunchBottomV4">


<contenttemplate>


<ul class="s4-specialNavLinkList">


<li>
      
<SharePoint:ClusteredSPLinkButton


runat="server"


NavigateUrl="~site/_layouts/recyclebin.aspx"


ImageClass="s4-specialNavIcon"


ImageUrl="/_layouts/images/fgimg.png"


ImageWidth=16


ImageHeight=16


OffsetX=0


OffsetY=428


id="idNavLinkRecycleBin"


Text="<%$Resources:wss,StsDefault_RecycleBin%>"


CssClass="s4-rcycl"


PermissionsString="DeleteListItems" />


</li>


<li>


<SharePoint:ClusteredSPLinkButton


id="idNavLinkViewAllV4"


runat="server"


PermissionsString="ViewFormPages"


NavigateUrl="~site/_layouts/viewlsts.aspx"


ImageClass="s4-specialNavIcon"


ImageUrl="/_layouts/images/fgimg.png"


ImageWidth=16


ImageHeight=16


OffsetX=0


OffsetY=0


Text="<%$Resources:wss,quiklnch_allcontent_short%>"


accesskey="<%$Resources:wss,quiklnch_allcontent_AK%>"/>


</li>


</ul>


</contenttemplate>


</SharePoint:UIVersionedContent>


</asp:ContentPlaceHolder>


</div>


</div>


</asp:ContentPlaceHolder>


</div>


</div>


<div class="s4-ca s4-ca-dlgNoRibbon" id="MSO_ContentTable">


<div class="s4-die">


<asp:ContentPlaceHolder ID="PlaceHolderPageImage" runat="server" Visible="false" />


<asp:ContentPlaceHolder ID="PlaceHolderTitleLeftBorder" runat="server" Visible="false">


</asp:ContentPlaceHolder>


<div id="onetidPageTitleAreaFrame" class='ms-pagetitleareaframe s4-pagetitle'>


</div>


<asp:ContentPlaceHolder ID="PlaceHolderMiniConsole" runat="server" Visible="false" />


<span class="s4-die">


<asp:ContentPlaceHolder ID="PlaceHolderTitleRightMargin" runat="server" Visible="false" />


</span>


<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaSeparator" runat="server" Visible="false" />


<asp:ContentPlaceHolder ID="PlaceHolderNavSpacer" runat="server" Visible="false">


<img src="/_layouts/images/blank.gif" width='138' height='1' alt="" /></asp:ContentPlaceHolder>


<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarBorder" runat="server" Visible="false">


</asp:ContentPlaceHolder>


<asp:ContentPlaceHolder ID="PlaceHolderBodyLeftBorder" runat="server" Visible="false">


</asp:ContentPlaceHolder>


</div>


<SharePoint:VersionedPlaceHolder UIVersion="3" ID="DesignModeConsoleV3" runat="server">


<asp:ContentPlaceHolder ID="WSSDesignConsole" runat="server">


<wssuc:DesignModeConsole id="IdDesignModeConsole" runat="server" />


</asp:ContentPlaceHolder>


</SharePoint:VersionedPlaceHolder>


<div class='s4-ba'>


<div class='ms-bodyareacell'>


<div id="MSO_ContentDiv" runat="server">


<a name="mainContent"></a>


<asp:ContentPlaceHolder ID="PlaceHolderMain" runat="server">


</asp:ContentPlaceHolder>


</div>


</div>


</div>


<!-- footer - this is purely optional -->


<div id="eis-footer" class="s4-notdlg" style="clear: both;">


<asp:Panel ID="pnlFooter" runat="server">

<FOOTER MENU> <div class="footer">
Copyright © 2012

<a href="#"> Volusia County Schools</a> - 200 North Clara Ave, DeLand,
FL 32720 - 386 - 734 - 7190


</div>

<End of Footer Menu> </asp:Panel>


</div>


<div class="s4-die">
<asp:ContentPlaceHolder ID="PlaceHolderBodyRightMargin" runat="server">


</asp:ContentPlaceHolder>


</div>


</div>


</div>


<SharePoint:DeveloperDashboard ID="DeveloperDashboard1" runat="server" />


</div>


</div>


</td>


</tr>


</table>


</div>
<asp:ContentPlaceHolder ID="PlaceHolderFormDigest" runat="server">


<SharePoint:FormDigest ID="FormDigest1" runat="server" />


</asp:ContentPlaceHolder>


<input type="text" name="__spText1" title="text" style="display: none;" />


<input type="text" name="__spText2" title="text" style="display: none;" />


</form>


<asp:ContentPlaceHolder ID="PlaceHolderUtilityContent" runat="server" />


<SharePoint:WarnOnUnsupportedBrowsers ID="WarnOnUnsupportedBrowsers1" runat="server" />
</body>
</html>
 
    


STEP 11:


Go to MasterPageFeature right click and “add event receiver”, go to the Feature.EventReceiver.cs file double click and add these events (notice you have 4 events commented, in this case we are only focus in two)


public override void FeatureActivated(SPFeatureReceiverPropertiesproperties)


{


SPSite CurSite = (SPSite)properties.Feature.Parent;


SPWebCurWeb = CurSite.RootWeb;


//Create Full master URL


Uri MasterUri = newUri(CurWeb.Url + "/_catalogs/masterpage/VCSBIntranetMaster.master");


CurWeb.MasterUrl = MasterUri.AbsolutePath;


CurWeb.CustomMasterUrl = MasterUri.AbsolutePath;


CurWeb.Update();


}
 // Uncomment the method below to handle the event raised before a feature is deactivated.

public override void FeatureDeactivating(SPFeatureReceiverPropertiesproperties)



{


SPSite CurSite = (SPSite)properties.Feature.Parent;


SPWeb CurWeb = CurSite.RootWeb;


//Create Full master URL


Uri MasterUri = newUri(CurWeb.Url + "/_catalogs/masterpage/V4.master");


CurWeb.MasterUrl = MasterUri.AbsolutePath;


CurWeb.CustomMasterUrl = MasterUri.AbsolutePath;


CurWeb.Update();


}
STEP 12:

Deploy the project to the site and activate the Features in

Site Actions->Site Settings ->Site collection Features ->Activate  Features
Now your new master page should be displayed.

No comments:

Post a Comment