开发当然少不了要自定义的一个MasterPage,我在 http://www.cnblogs.com/jasmineou/archive/2007/11/01/945883.html 这个前辈找到了
<%
@Master language
=
"
C#
"
%>
<%
@ Register Tagprefix
=
"
SharePoint
"
Namespace
=
"
Microsoft.SharePoint.WebControls
"
Assembly
=
"
Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
"
%>
<%
@ Register Tagprefix
=
"
Utilities
"
Namespace
=
"
Microsoft.SharePoint.Utilities
"
Assembly
=
"
Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
"
%>
<%
@ Import Namespace
=
"
Microsoft.SharePoint
"
%>
<%
@ Import Namespace
=
"
Microsoft.SharePoint.ApplicationPages
"
%>
<%
@ Register Tagprefix
=
"
WebPartPages
"
Namespace
=
"
Microsoft.SharePoint.WebPartPages
"
Assembly
=
"
Microsoft.SharePoint, Version=12.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
"
%>
<
HTML
dir
="<%$Resources:wss,multipages_direction_dir_value%>"
runat
="server"
xmlns:o
="urn:schemas-microsoft-com:office:office"
__expr-val-dir
="ltr"
>
<
HEAD
runat
="server"
>
<
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
runat
="server"
/>
<
Title
ID
=onetidTitle
><
asp:ContentPlaceHolder
id
=PlaceHolderPageTitle
runat
="server"
/></
Title
>
<
SharePoint:CssLink
runat
="server"
/>
<
SharePoint:Theme
runat
="server"
/>
<
SharePoint:ScriptLink
language
="javascript"
name
="core.js"
Defer
="true"
runat
="server"
/>
<
SharePoint:CustomJSUrl
runat
="server"
/>
<
SharePoint:SoapDiscoveryLink
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderAdditionalPageHead"
runat
="server"
/>
<
SharePoint:DelegateControl
runat
="server"
ControlId
="AdditionalPageHead"
AllowMultipleControls
="true"
/>
</
HEAD
>
<
BODY
scroll
="yes"
onload
="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();"
>
<
form
runat
="server"
onsubmit
="return _spFormOnSubmitWrapper();"
>
<!--
必选项
-->
<
WebPartPages:SPWebPartManager
id
="m"
runat
="Server"
/>
<!--
可选项,是头顶那个欢迎信息和登录的控件
-->
<
wssuc:Welcome
id
="IdWelcome"
runat
="server"
EnableViewState
="false"
></
wssuc:Welcome
>
<!--
可选项,SiteAction那个按钮的控件
-->
<
SharePoint:SiteActions
runat
="server"
AccessKey
="<%$Resources:wss,tb_SiteActions_AK%>"
id
="SiteActionsMenuMain"
PrefixHtml
="<div><div>"
SuffixHtml
="</div></div>"
MenuNotVisibleHtml
="&nbsp;"
>
<
CustomTemplate
>
<
SharePoint:FeatureMenuTemplate
runat
="server"
FeatureScope
="Site"
Location
="Microsoft.SharePoint.StandardMenu"
GroupId
="SiteActions"
UseShortId
="true"
>
<
SharePoint:MenuItemTemplate
runat
="server"
id
="MenuItem_Create"
Text
="<%$Resources:wss,viewlsts_pagetitle_create%>"
Description
="<%$Resources:wss,siteactions_createdescription%>"
ImageUrl
="/_layouts/images/Actionscreate.gif"
MenuGroupId
="100"
Sequence
="100"
UseShortId
="true"
ClientOnClickNavigateUrl
="~site/_layouts/create.aspx"
PermissionsString
="ManageLists, ManageSubwebs"
PermissionMode
="Any"
/>
<
SharePoint:MenuItemTemplate
runat
="server"
id
="MenuItem_EditPage"
Text
="<%$Resources:wss,siteactions_editpage%>"
Description
="<%$Resources:wss,siteactions_editpagedescription%>"
ImageUrl
="/_layouts/images/ActionsEditPage.gif"
MenuGroupId
="100"
Sequence
="200"
ClientOnClickNavigateUrl
="javascript:MSOLayout_ChangeLayoutMode(false);"
/>
<
SharePoint:MenuItemTemplate
runat
="server"
id
="MenuItem_Settings"
Text
="<%$Resources:wss,settings_pagetitle%>"
Description
="<%$Resources:wss,siteactions_sitesettingsdescription%>"
ImageUrl
="/_layouts/images/ActionsSettings.gif"
MenuGroupId
="100"
Sequence
="300"
UseShortId
="true"
ClientOnClickNavigateUrl
="~site/_layouts/settings.aspx"
PermissionsString
="EnumeratePermissions,ManageWeb,ManageSubwebs,AddAndCustomizePages,ApplyThemeAndBorder,ManageAlerts,ManageLists,ViewUsageData"
PermissionMode
="Any"
/>
</
SharePoint:FeatureMenuTemplate
>
</
CustomTemplate
>
</
SharePoint:SiteActions
>
<!--
可选项,设计状态下的Console
-->
<
asp:ContentPlaceHolder
ID
="WSSDesignConsole"
runat
="server"
>
<
wssuc:DesignModeConsole
id
="IdDesignModeConsole"
runat
="server"
/>
</
asp:ContentPlaceHolder
>
<!--
这个tag比较重要,它是设置Webpart的那个工具条,如果页面上不加上这个Tag,那个工具条就会生成在页面的最下端,从而破坏页面结构
-->
<
PlaceHolder
id
="MSO_ContentDiv"
runat
="server"
></
PlaceHolder
>
<!--
必选项,这个就不用说了吧
-->
<
asp:ContentPlaceHolder
id
="PlaceHolderMain"
runat
="server"
></
asp:ContentPlaceHolder
>
<
input
type
="text"
name
="__spDummyText1"
style
="display:none;"
size
=1
/>
<
input
type
="text"
name
="__spDummyText2"
style
="display:none;"
size
=1
/>
<!--
没用的PlaceHolder不要删除掉,因为有些页面会把东西输出到这些PlaceHolder的,少一个都可能会出错,把他隐藏就行
-->
<
div
style
="display:none"
>
<
asp:ContentPlaceHolder
id
="PlaceHolderUtilityContent"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderBodyAreaClass"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderTitleAreaClass"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderGlobalNavigationSiteMap"
runat
="server"
>
<
asp:SiteMapPath
SiteMapProvider
="SPSiteMapProvider"
id
="GlobalNavigationSiteMap"
RenderCurrentNodeAsLink
="true"
SkipLinkText
=""
NodeStyle-CssClass
="ms-sitemapdirectional"
runat
="server"
/>
</
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderGlobalNavigation"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderSiteName"
runat
="server"
>
<
SharePoint:SPLinkButton
runat
="server"
NavigateUrl
="~site/"
id
="onetidProjectPropertyTitle"
>
<
SharePoint:ProjectProperty
Property
="Title"
runat
="server"
/>
</
SharePoint:SPLinkButton
>
</
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderSearchArea"
runat
="server"
>
<
SharePoint:DelegateControl
runat
="server"
ControlId
="SmallSearchInputBox"
/>
</
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderHorizontalNav"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderTopNavBar"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
ID
="SPNavigation"
runat
="server"
>
<
SharePoint:DelegateControl
runat
="server"
ControlId
="PublishingConsole"
PrefixHtml
="<tr><td colspan="4" id="mpdmconsole" class="ms-consolemptablerow">"
SuffixHtml
="</td></tr>"
>
</
SharePoint:DelegateControl
>
</
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderPageImage"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderTitleLeftBorder"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderTitleBreadcrumb"
runat
="server"
>
<
asp:SiteMapPath
SiteMapProvider
="SPContentMapProvider"
id
="ContentMap"
SkipLinkText
=""
NodeStyle-CssClass
="ms-sitemapdirectional"
runat
="server"
/>
</
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderPageTitleInTitleArea"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderMiniConsole"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderTitleRightMargin"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderLeftNavBarDataSource"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderCalendarNavigator"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderLeftNavBarTop"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderLeftNavBar"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderTitleAreaSeparator"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderLeftActions"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderNavSpacer"
runat
="server"
></
asp:ContentPlaceholder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderLeftNavBarBorder"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderBodyLeftBorder"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderPageDescription"
runat
="server"
/>
<
asp:ContentPlaceHolder
id
="PlaceHolderBodyRightMargin"
runat
="server"
></
asp:ContentPlaceHolder
>
<
asp:ContentPlaceHolder
id
="PlaceHolderFormDigest"
runat
="server"
>
<
SharePoint:FormDigest
runat
=server
/>
</
asp:ContentPlaceHolder
>
</
div
>
</
form
>
</
BODY
>
</
HTML
>
当然这是一个简单的Masterpage, 客户要求的就要自己根据Asp.net的经验改咯.....
转:http://www.cnblogs.com/chris_thanks/archive/2009/01/17/1377589.html