Sharepoint开发之旅(2):SiteDefinition自定义母版页

初次学习sharepoint,本文采用的方法很可能不是最好的,如果您有更好的办法,请在回复中说明,谢谢.

  1. 新建一个SiteDefinition (Farm),并修改webtemp文件中Template的ID(大于10000的任何一个数字,并且不可和已有的SiteDefinition重复)
  2. 在解决方案资源管理器中(Ctrl+W,S)展开SiteDenfinition节点,右键单击SiteDefinition节点,Add->Add New Item 在对话框中右侧选择Visual C# –> Web,右侧选择HTML Page对话框下面的Name更改为 MyMaster.master(这个名称可以自定义).
  3. 更改刚刚加入的MyMaster.master的内容为:
    <%@ Master Language="C#" %>
    
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
        Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Import Namespace="Microsoft.SharePoint" %>
    <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
    <%@ 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="MUISelector" Src="~/_controltemplates/MUISelector.ascx" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html id="Html1" lang="<%$Resources:wss,language_value%>" xmlns:o="urn:schemas-microsoft-com:office:office"
    runat="server" dir="<%$Resources:wss,multipages_direction_dir_value%>">
    <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" />
        <title>master-><asp:ContentPlaceHolder ID="PlaceHolderPageTitle" runat="server">
        </asp:ContentPlaceHolder>
        </title>
    </head>
    <body>
        <WebPartPages:WebPartManager ID="WPManager" runat="server" />
        This is a master page!
        <asp:ContentPlaceHolder ID="PlaceHolderMain" runat="server">
        </asp:ContentPlaceHolder>
    </body>
    </html>
    
    这是一个简单的母版页,简单到基本上啥也没有.
  4. 打开onet.xml文件,你会发现Project –> Modules –> Module[Name=DefaultBlank] 节点下已经包含了我们刚刚添加的master文件MyMaster.master
    我们在Project –> Modules 下添加一个 Module[Name=MasterPage]并设置其Url为_catalogs/masterpage
    将Module[Name=DefaultBlank]节点下的File[Url=default.aspx]节点移动到Module[Name=MasterPage]节点下.
    在Project->Configuration->Modules中添加我们刚刚新建的Module[Name=MasterPage]节点
    修改后的onet.xml文件大致为:
    <?xml version="1.0" encoding="utf-8"?>
    <Project Title="ZhuiSha.SiteDefinition" Revision="2" ListDir="" xmlns:ows="Microsoft SharePoint" xmlns="http://schemas.microsoft.com/sharepoint/">
      <NavBars>
      </NavBars>
      <Configurations>
        <Configuration ID="0" Name="ZhuiSha.SiteDefinition" CustomMasterUrl="_catalogs/masterpage/MyMaster.master">
          <Lists/>
          <SiteFeatures>
          </SiteFeatures>
          <WebFeatures>
          </WebFeatures>
          <Modules>
            <Module Name="MasterPage" />
            <Module Name="DefaultBlank" />
          </Modules>
        </Configuration>
      </Configurations>
      <Modules>
        <Module Name="MasterPage" Url="_catalogs/masterpage">
          <File Path="MyMaster.master" Url="MyMaster.master" />
        </Module>
        <Module Name="DefaultBlank" Url="" Path="">
          <File Url="default.aspx" Path="default.aspx">
    
          </File>
        </Module>
      </Modules>
    </Project>
  5. 修改SiteDefinition –> default.aspx 为:
    <%@ Page language="C#" MasterPageFile="~masterurl/custom.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"  %>
    <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
    <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Import Namespace="Microsoft.SharePoint" %>
    <%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
    <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
    
    <asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server">
        <h1>
            Welcome to the custom site
            MySiteDefinition
        </h1>
        <WebPartPages:WebPartZone id="Zoon1" runat="server" title="Zoon1"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone>
    </asp:Content>
    

转载于:https://www.cnblogs.com/zhuisha/archive/2011/05/12/2044156.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值