在SharePoint中模板中实现类似框架的结构:使用Splitter分割导航与内容区,拖动调整大小(二)
2008-05-04 21:48
609 查看
示例代码下载
由于希望在SharePoint的Default.master页上实现分栏拖动效果,而Default.master是一个完整的模板页,没有框架。如果试图用框架来实现,对于已有站点而言,要新建好几个模板页,且必须应用到各列表、文档库Form文件夹下的各页面。
框架走不通,只能考虑通过javascript来实现了,其实,仔细想想,网上已经有现成的案例可以参照,譬如MSDN Library.
既然有了参考站点后,就很容易了,研究一下MSDN是怎么实现的,照搬就行了。具体怎么照搬的,这里就不赘述了。这里就介绍一下照搬过来后,怎么在SharePoint里面实现分栏拖动效果。
一、涉及文件及结构
以下的文件结构大家都很熟悉,用SharePoint Designer2007打开SPS站点就可以看到。我在这里增加了一个文件夹,命名为spliter来存储必须的三个文件,即Global-bn1822.3.css、mtps-bn1822.3.css、mtps-bn1822.3.js。最后一个System-bn1822.3.css作用不大,如果你有兴趣的话可以把它链接到模板中,实现一些特殊的效果。然后我们修改了原来的default.master页。让它能够使用上面的三个文件来实现分栏拖拽的效果。
<DIV id=contents>
<DIV class=resizableArea id=ctl00_rs1_ra1>
<DIV class=leftSection id=ctl00_rs1_raLeft>
</DIV>
<DIV onmouseup=ra_resizeStop() class=splitter
onmousedown="ra_resizeStart(event,this,'ctl00_rs1_raLeft')"
id=ctl00_rs1_raSplitter
ondblclick="ra_OpenCollapse('ctl00_rs1_raSplitter','ctl00_rs1_raLeft')"
onmouseover=HighlightSplitterBar(this.id,0);
title="单击并拖动可调整大小。双击或按 't' 可在隐藏和显示之间切换。" style="LEFT: 18%;"
onmouseout=HighlightSplitterBar(this.id,1);></DIV>
<DIV class=rightSection id=ctl00_rs1_raRight
onkeyup=' ra_keyPress(window.event, "ctl00_rs1_raSplitter","ctl00_rs1_raLeft")'><div class='ms-bodyareacell' valign="top"></div>
</DIV>
</DIV>
基本就能理解这个实现了
三、源代码
default.master
<%@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"/>
<LINK
href="/jt/testSite/spliter/Global-bn1822.3.css" type=text/css rel=stylesheet><LINK
href="/jt/testSite/spliter/mtps-bn1822.3.css" type=text/css rel=stylesheet></LINK>
</HEAD>
<BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">
<form runat="server" onsubmit="return _spFormOnSubmitWrapper();">
<WebPartPages:SPWebPartManager id="m" runat="Server"/>
<SCRIPT type=text/javascript>
var ra_WidthCookieName = "tocwidth";
var ra_CollapsedCookieName = "toccollapsed";
</SCRIPT>
<TABLE class="ms-main" CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%" HEIGHT="100%">
<tr><td><asp:ContentPlaceHolder id="PlaceHolderGlobalNavigation" runat="server">
<table CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%">
<tr>
<td colspan=4 class="ms-globalbreadcrumb">
<span id="TurnOnAccessibility" style="display:none">
<a href="#" class="ms-skip" onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();return false;">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,master_turnonaccessibility%>" EncodeMethod="HtmlEncode"/></a>
</span>
<A href="javascript:;" onclick="javascript:this.href='#mainContent';" class="ms-skip" AccessKey="<%$Resources:wss,maincontent_accesskey%>" runat="server">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,mainContentLink%>" EncodeMethod="HtmlEncode"/></A>
<table cellpadding=0 cellspacing=0 height=100% class="ms-globalleft">
<tr>
<td class="ms-globallinks" style="padding-top: 2px;" height=100% valign=middle>
<div>
<span id="TurnOffAccessibility" style="display:none">
<a href="#" class="ms-acclink" onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();return false;">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,master_turnoffaccessibility%>" EncodeMethod="HtmlEncode"/></a>
</span>
<asp:ContentPlaceHolder id="PlaceHolderGlobalNavigationSiteMap" runat="server">
<asp:SiteMapPath SiteMapProvider="SPSiteMapProvider" id="GlobalNavigationSiteMap" RenderCurrentNodeAsLink="true" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/>
</asp:ContentPlaceHolder>
</div>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" height=100% class="ms-globalright">
<tr>
<td valign="middle" class="ms-globallinks" style="padding-left:3px; padding-right:6px;">
<SharePoint:DelegateControl runat="server" ControlId="GlobalSiteLink0"/>
</td>
<td valign="middle" class="ms-globallinks">
<wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false">
</wssuc:Welcome>
</td>
<td style="padding-left:1px;padding-right:3px;" class="ms-globallinks">|</td>
<td valign="middle" class="ms-globallinks">
<table cellspacing="0" cellpadding="0">
<tr>
<td class="ms-globallinks">
<SharePoint:DelegateControl ControlId="GlobalSiteLink1" Scope="Farm" runat="server"/></td>
<td class="ms-globallinks">
<SharePoint:DelegateControl ControlId="GlobalSiteLink2" Scope="Farm" runat="server"/></td>
</tr>
</table>
</td>
<td valign="middle" class="ms-globallinks">
<a href="javascript:TopHelpButtonClick('NavBarHelpHome')" AccessKey="<%$Resources:wss,multipages_helplink_accesskey%>" id="TopHelpLink" title="<%$Resources:wss,multipages_helplinkalt_text%>" runat="server"><img align='absmiddle' border=0 src="/_layouts/images/helpicon.gif" alt="<%$Resources:wss,multipages_helplinkalt_text%>" runat="server"></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:ContentPlaceHolder></td></tr>
<tr>
<td class="ms-globalTitleArea">
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr>
<td id="GlobalTitleAreaImage" class="ms-titleimagearea">
<SharePoint:SiteLogoImage id="onetidHeadbnnr0" LogoImageUrl="/_layouts/images/titlegraphic.gif" runat="server"/></td>
<td class="ms-sitetitle" width=100%>
<asp:ContentPlaceHolder id="PlaceHolderSiteName" runat="server">
<h1 class="ms-sitetitle">
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" id="onetidProjectPropertyTitle">
<SharePoint:ProjectProperty Property="Title" runat="server" />
</SharePoint:SPLinkButton>
</h1>
</asp:ContentPlaceHolder>
</td>
<td style="padding-top:8px;" valign=top>
<asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox"/>
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
<TR>
<TD id="onetIdTopNavBarContainer" WIDTH=100% class="ms-bannerContainer">
<asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">
<table class="ms-bannerframe" border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td nowrap valign="middle"></td>
<td class=ms-banner width=99% nowrap ID="HBN100">
<asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">
<SharePoint:AspMenu
ID="TopNavigationMenu"
Runat="server"
DataSourceID="topSiteMap"
EnableViewState="false"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
Orientation="Horizontal"
StaticDisplayLevels="2"
MaximumDynamicDisplayLevels="1"
DynamicHorizontalOffset="0"
StaticPopoutImageUrl="/_layouts/images/menudark.gif"
StaticPopoutImageTextFormatString=""
DynamicHoverStyle-BackColor="#CBE3F0"
SkipLinkText=""
StaticSubMenuIndent="0"
CssClass="ms-topNavContainer">
<StaticMenuStyle/>
<StaticMenuItemStyle CssClass="ms-topnav" ItemSpacing="0px"/>
<StaticSelectedStyle CssClass="ms-topnavselected" />
<StaticHoverStyle CssClass="ms-topNavHover" />
<DynamicMenuStyle BackColor="#F2F3F4" BorderColor="#A7B4CE" BorderWidth="1px"/>
<DynamicMenuItemStyle CssClass="ms-topNavFlyOuts"/>
<DynamicHoverStyle CssClass="ms-topNavFlyOutsHover"/>
<DynamicSelectedStyle CssClass="ms-topNavFlyOutsSelected"/>
</SharePoint:AspMenu>
<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource">
<Template_Controls>
<asp:SiteMapDataSource
ShowStartingNode="False"
SiteMapProvider="SPNavigationProvider"
id="topSiteMap"
runat="server"
StartingNodeUrl="sid:1002"/>
</Template_Controls>
</SharePoint:DelegateControl>
</asp:ContentPlaceHolder>
</td>
<td class=ms-banner> </td>
<td valign=bottom align=right style="position:relative;bottom:0;left:0;">
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td>
<table height=100% class="ms-siteaction" cellpadding=0 cellspacing=0>
<tr>
<td class="ms-siteactionsmenu" id="siteactiontd">
<SharePoint:SiteActions runat="server" AccessKey="<%$Resources:wss,tb_SiteActions_AK%>" id="SiteActionsMenuMain"
PrefixHtml="<div><div>"
SuffixHtml="</div></div>"
MenuNotVisibleHtml=" ">
<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>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:ContentPlaceHolder>
</TD>
</TR>
<asp:ContentPlaceHolder ID="WSSDesignConsole" runat="server">
<wssuc:DesignModeConsole id="IdDesignModeConsole" 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>
<TR height="100%"><TD><TABLE width="100%" height="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="ms-titlearealeft" id="TitleAreaImageCell" valign="middle" nowrap><div style="height:100%" class="ms-titleareaframe"><asp:ContentPlaceHolder id="PlaceHolderPageImage" runat="server"/></div></td>
<td class="ms-titleareaframe" id="TitleAreaFrameClass">
<asp:ContentPlaceHolder id="PlaceHolderTitleLeftBorder" runat="server">
<div class="ms-titleareaframe"><IMG SRC="/_layouts/images/blank.gif" width=1 height=100% alt=""></div>
</asp:ContentPlaceHolder>
</td>
<td valign=top id="onetidPageTitleAreaFrame" class='ms-pagetitleareaframe' nowrap>
<table id="onetidPageTitleAreaTable" cellpadding=0 cellspacing=0 width=100% border="0">
<tr>
<td valign="top" class="ms-titlearea">
<asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server">
<asp:SiteMapPath SiteMapProvider="SPContentMapProvider" id="ContentMap" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/>
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td height=100% valign=top ID=onetidPageTitle class="ms-pagetitle">
<h2 class="ms-pagetitle">
<asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />
</h2>
</td>
</tr>
</table>
</td>
<td class="ms-titlearearight">
<asp:ContentPlaceHolder id="PlaceHolderMiniConsole" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderTitleRightMargin" runat="server">
<div class="ms-titleareaframe" style='height:100%'><IMG SRC="/_layouts/images/blank.gif" width=1 height=1 alt=""></div>
</asp:ContentPlaceHolder></td>
</tr>
<asp:ContentPlaceHolder id="PlaceHolderTitleAreaSeparator" runat="server"/>
<TR>
<TD valign=top height=100% colspan="4">
<DIV id=contents>
<DIV class=resizableArea id=ctl00_rs1_ra1>
<DIV class=leftSection id=ctl00_rs1_raLeft style="WIDTH: 18%">
<div class="ms-leftareacell" valign=top height=100% id="LeftNavigationAreaCell">
<table class=ms-nav width=100% height=100% cellpadding=0 cellspacing=0>
<tr>
<td>
<TABLE height="100%" class=ms-navframe CELLPADDING=0 CELLSPACING=0 border="0">
<tr valign="top">
<td width="4px"><IMG SRC="/_layouts/images/blank.gif" width=4 height=1 alt=""></td>
<td valign="top" width="100%">
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" runat="server" />
<asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat="server" />
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server">
<div class="ms-quicklaunchouter">
<div class="ms-quickLaunch" style="width:100%">
<h3 class="ms-standardheader"><label class="ms-hidden">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,quiklnch_pagetitle%>" EncodeMethod="HtmlEncode"/></label>
<Sharepoint:SPSecurityTrimmedControl 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>
<Sharepoint:SPNavigationManager
id="QuickLaunchNavigationManager"
runat="server"
QuickLaunchControlId="QuickLaunchMenu"
ContainedControl="QuickLaunch"
EnableViewState="false">
<div>
<SharePoint:DelegateControl runat="server"
ControlId="QuickLaunchDataSource">
<Template_Controls>
<asp:SiteMapDataSource
SiteMapProvider="SPNavigationProvider"
ShowStartingNode="False"
id="QuickLaunchSiteMap"
StartingNodeUrl="sid:1025"
runat="server"
/>
</Template_Controls>
</SharePoint:DelegateControl>
<SharePoint:AspMenu
id="QuickLaunchMenu"
DataSourceId="QuickLaunchSiteMap"
runat="server"
Orientation="Vertical"
StaticDisplayLevels="2"
ItemWrap="true"
MaximumDynamicDisplayLevels="0"
StaticSubMenuIndent="0"
SkipLinkText=""
>
<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>
</div>
</Sharepoint:SPNavigationManager>
<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 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: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: 100%; ">
<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>
</div>
</Sharepoint:SPNavigationManager>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td>
<table class="ms-recyclebin" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td nowrap>
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/recyclebin.aspx" id="idNavLinkRecycleBin" ImageUrl="/_layouts/images/recycbin.gif" Text="<%$Resources:wss,StsDefault_RecycleBin%>" PermissionsString="DeleteListItems"/>
</td></tr>
</table>
</td></tr></table>
</div>
</div>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat="server"></asp:ContentPlaceHolder>
</td>
</tr>
<tr><td colspan=2><asp:ContentPlaceHolder id="PlaceHolderNavSpacer" runat="server"><IMG SRC="/_layouts/images/blank.gif" width=138 height=1 alt=""></asp:ContentPlaceholder></td></tr>
</TABLE>
</td>
</tr>
</table>
</Div>
</DIV>
<DIV onmouseup=ra_resizeStop() class=splitter
onmousedown="ra_resizeStart(event,this,'ctl00_rs1_raLeft')"
id=ctl00_rs1_raSplitter
ondblclick="ra_OpenCollapse('ctl00_rs1_raSplitter','ctl00_rs1_raLeft')"
onmouseover=HighlightSplitterBar(this.id,0);
title="单击并拖动可调整大小。双击或按 't' 可在隐藏和显示之间切换。" style="LEFT: 18%;"
onmouseout=HighlightSplitterBar(this.id,1);></DIV>
<DIV class=rightSection id=ctl00_rs1_raRight
onkeyup=' ra_keyPress(window.event, "ctl00_rs1_raSplitter","ctl00_rs1_raLeft")'><div class='ms-bodyareacell' valign="top">
<PlaceHolder id="MSO_ContentDiv" runat="server">
<table id="MSO_ContentTable" width=100% height="100%" border="0" cellspacing="0" cellpadding="0" class="ms-propertysheet">
<tr>
<td class='ms-bodyareaframe' valign="top" height="100%">
<A name="mainContent"></A>
<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</PlaceHolder>
</div>
</DIV></DIV></DIV>
</TD>
</TR>
<TR>
<TD class="ms-leftareacell" valign=top height=100% id="LeftNavigationAreaCell">
</TD>
<td><asp:ContentPlaceHolder id="PlaceHolderBodyLeftBorder" runat="server">
<div class="ms-pagemargin"><IMG SRC="/_layouts/images/blank.gif" width=10 height=1 alt=""></div>
</asp:ContentPlaceHolder></td>
<td class='ms-bodyareacell' valign="top">
</td>
<td class="ms-rightareacell"><asp:ContentPlaceHolder id="PlaceHolderBodyRightMargin" runat="server">
<div class="ms-pagemargin"><IMG SRC="/_layouts/images/blank.gif" width=10 height=1 alt=""></div>
</asp:ContentPlaceHolder></td>
</TR>
<tr>
<td class="ms-pagebottommarginleft"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-pagebottommargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-bodyareapagemargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-pagebottommarginright"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
</tr>
</TABLE></TD></TR>
</TABLE>
<asp:ContentPlaceHolder id="PlaceHolderFormDigest" runat="server">
<SharePoint:FormDigest runat=server/>
</asp:ContentPlaceHolder>
<input type="text" name="__spDummyText1" style="display:none;" size=1/>
<input type="text" name="__spDummyText2" style="display:none;" size=1/>
<SCRIPT src="/jt/testSite/spliter/mtps-bn1822.3.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
//<![CDATA[
window.attachEvent('onresize', ra_OnPageResize);
window.attachEvent('onload', ra_OnPageResize);
var splitter = document.getElementById("ctl00_rs1_raSplitter");
var leftSection = document.getElementById("ctl00_rs1_raLeft");
var tocWidth = GetCookie("tocwidth");
ra_redaw(splitter, leftSection, tocWidth==null?300:tocWidth);
//]]>
</SCRIPT>
</form>
<asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderTitleAreaClass" runat="server"/>
</BODY>
</HTML>
由于希望在SharePoint的Default.master页上实现分栏拖动效果,而Default.master是一个完整的模板页,没有框架。如果试图用框架来实现,对于已有站点而言,要新建好几个模板页,且必须应用到各列表、文档库Form文件夹下的各页面。
框架走不通,只能考虑通过javascript来实现了,其实,仔细想想,网上已经有现成的案例可以参照,譬如MSDN Library.
既然有了参考站点后,就很容易了,研究一下MSDN是怎么实现的,照搬就行了。具体怎么照搬的,这里就不赘述了。这里就介绍一下照搬过来后,怎么在SharePoint里面实现分栏拖动效果。
一、涉及文件及结构
以下的文件结构大家都很熟悉,用SharePoint Designer2007打开SPS站点就可以看到。我在这里增加了一个文件夹,命名为spliter来存储必须的三个文件,即Global-bn1822.3.css、mtps-bn1822.3.css、mtps-bn1822.3.js。最后一个System-bn1822.3.css作用不大,如果你有兴趣的话可以把它链接到模板中,实现一些特殊的效果。然后我们修改了原来的default.master页。让它能够使用上面的三个文件来实现分栏拖拽的效果。
<DIV id=contents>
<DIV class=resizableArea id=ctl00_rs1_ra1>
<DIV class=leftSection id=ctl00_rs1_raLeft>
</DIV>
<DIV onmouseup=ra_resizeStop() class=splitter
onmousedown="ra_resizeStart(event,this,'ctl00_rs1_raLeft')"
id=ctl00_rs1_raSplitter
ondblclick="ra_OpenCollapse('ctl00_rs1_raSplitter','ctl00_rs1_raLeft')"
onmouseover=HighlightSplitterBar(this.id,0);
title="单击并拖动可调整大小。双击或按 't' 可在隐藏和显示之间切换。" style="LEFT: 18%;"
onmouseout=HighlightSplitterBar(this.id,1);></DIV>
<DIV class=rightSection id=ctl00_rs1_raRight
onkeyup=' ra_keyPress(window.event, "ctl00_rs1_raSplitter","ctl00_rs1_raLeft")'><div class='ms-bodyareacell' valign="top"></div>
</DIV>
</DIV>
基本就能理解这个实现了
三、源代码
default.master
<%@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"/>
<LINK
href="/jt/testSite/spliter/Global-bn1822.3.css" type=text/css rel=stylesheet><LINK
href="/jt/testSite/spliter/mtps-bn1822.3.css" type=text/css rel=stylesheet></LINK>
</HEAD>
<BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">
<form runat="server" onsubmit="return _spFormOnSubmitWrapper();">
<WebPartPages:SPWebPartManager id="m" runat="Server"/>
<SCRIPT type=text/javascript>
var ra_WidthCookieName = "tocwidth";
var ra_CollapsedCookieName = "toccollapsed";
</SCRIPT>
<TABLE class="ms-main" CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%" HEIGHT="100%">
<tr><td><asp:ContentPlaceHolder id="PlaceHolderGlobalNavigation" runat="server">
<table CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%">
<tr>
<td colspan=4 class="ms-globalbreadcrumb">
<span id="TurnOnAccessibility" style="display:none">
<a href="#" class="ms-skip" onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();return false;">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,master_turnonaccessibility%>" EncodeMethod="HtmlEncode"/></a>
</span>
<A href="javascript:;" onclick="javascript:this.href='#mainContent';" class="ms-skip" AccessKey="<%$Resources:wss,maincontent_accesskey%>" runat="server">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,mainContentLink%>" EncodeMethod="HtmlEncode"/></A>
<table cellpadding=0 cellspacing=0 height=100% class="ms-globalleft">
<tr>
<td class="ms-globallinks" style="padding-top: 2px;" height=100% valign=middle>
<div>
<span id="TurnOffAccessibility" style="display:none">
<a href="#" class="ms-acclink" onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();return false;">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,master_turnoffaccessibility%>" EncodeMethod="HtmlEncode"/></a>
</span>
<asp:ContentPlaceHolder id="PlaceHolderGlobalNavigationSiteMap" runat="server">
<asp:SiteMapPath SiteMapProvider="SPSiteMapProvider" id="GlobalNavigationSiteMap" RenderCurrentNodeAsLink="true" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/>
</asp:ContentPlaceHolder>
</div>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" height=100% class="ms-globalright">
<tr>
<td valign="middle" class="ms-globallinks" style="padding-left:3px; padding-right:6px;">
<SharePoint:DelegateControl runat="server" ControlId="GlobalSiteLink0"/>
</td>
<td valign="middle" class="ms-globallinks">
<wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false">
</wssuc:Welcome>
</td>
<td style="padding-left:1px;padding-right:3px;" class="ms-globallinks">|</td>
<td valign="middle" class="ms-globallinks">
<table cellspacing="0" cellpadding="0">
<tr>
<td class="ms-globallinks">
<SharePoint:DelegateControl ControlId="GlobalSiteLink1" Scope="Farm" runat="server"/></td>
<td class="ms-globallinks">
<SharePoint:DelegateControl ControlId="GlobalSiteLink2" Scope="Farm" runat="server"/></td>
</tr>
</table>
</td>
<td valign="middle" class="ms-globallinks">
<a href="javascript:TopHelpButtonClick('NavBarHelpHome')" AccessKey="<%$Resources:wss,multipages_helplink_accesskey%>" id="TopHelpLink" title="<%$Resources:wss,multipages_helplinkalt_text%>" runat="server"><img align='absmiddle' border=0 src="/_layouts/images/helpicon.gif" alt="<%$Resources:wss,multipages_helplinkalt_text%>" runat="server"></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:ContentPlaceHolder></td></tr>
<tr>
<td class="ms-globalTitleArea">
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr>
<td id="GlobalTitleAreaImage" class="ms-titleimagearea">
<SharePoint:SiteLogoImage id="onetidHeadbnnr0" LogoImageUrl="/_layouts/images/titlegraphic.gif" runat="server"/></td>
<td class="ms-sitetitle" width=100%>
<asp:ContentPlaceHolder id="PlaceHolderSiteName" runat="server">
<h1 class="ms-sitetitle">
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" id="onetidProjectPropertyTitle">
<SharePoint:ProjectProperty Property="Title" runat="server" />
</SharePoint:SPLinkButton>
</h1>
</asp:ContentPlaceHolder>
</td>
<td style="padding-top:8px;" valign=top>
<asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox"/>
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
<TR>
<TD id="onetIdTopNavBarContainer" WIDTH=100% class="ms-bannerContainer">
<asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">
<table class="ms-bannerframe" border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td nowrap valign="middle"></td>
<td class=ms-banner width=99% nowrap ID="HBN100">
<asp:ContentPlaceHolder id="PlaceHolderHorizontalNav" runat="server">
<SharePoint:AspMenu
ID="TopNavigationMenu"
Runat="server"
DataSourceID="topSiteMap"
EnableViewState="false"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
Orientation="Horizontal"
StaticDisplayLevels="2"
MaximumDynamicDisplayLevels="1"
DynamicHorizontalOffset="0"
StaticPopoutImageUrl="/_layouts/images/menudark.gif"
StaticPopoutImageTextFormatString=""
DynamicHoverStyle-BackColor="#CBE3F0"
SkipLinkText=""
StaticSubMenuIndent="0"
CssClass="ms-topNavContainer">
<StaticMenuStyle/>
<StaticMenuItemStyle CssClass="ms-topnav" ItemSpacing="0px"/>
<StaticSelectedStyle CssClass="ms-topnavselected" />
<StaticHoverStyle CssClass="ms-topNavHover" />
<DynamicMenuStyle BackColor="#F2F3F4" BorderColor="#A7B4CE" BorderWidth="1px"/>
<DynamicMenuItemStyle CssClass="ms-topNavFlyOuts"/>
<DynamicHoverStyle CssClass="ms-topNavFlyOutsHover"/>
<DynamicSelectedStyle CssClass="ms-topNavFlyOutsSelected"/>
</SharePoint:AspMenu>
<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource">
<Template_Controls>
<asp:SiteMapDataSource
ShowStartingNode="False"
SiteMapProvider="SPNavigationProvider"
id="topSiteMap"
runat="server"
StartingNodeUrl="sid:1002"/>
</Template_Controls>
</SharePoint:DelegateControl>
</asp:ContentPlaceHolder>
</td>
<td class=ms-banner> </td>
<td valign=bottom align=right style="position:relative;bottom:0;left:0;">
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td>
<table height=100% class="ms-siteaction" cellpadding=0 cellspacing=0>
<tr>
<td class="ms-siteactionsmenu" id="siteactiontd">
<SharePoint:SiteActions runat="server" AccessKey="<%$Resources:wss,tb_SiteActions_AK%>" id="SiteActionsMenuMain"
PrefixHtml="<div><div>"
SuffixHtml="</div></div>"
MenuNotVisibleHtml=" ">
<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>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:ContentPlaceHolder>
</TD>
</TR>
<asp:ContentPlaceHolder ID="WSSDesignConsole" runat="server">
<wssuc:DesignModeConsole id="IdDesignModeConsole" 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>
<TR height="100%"><TD><TABLE width="100%" height="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="ms-titlearealeft" id="TitleAreaImageCell" valign="middle" nowrap><div style="height:100%" class="ms-titleareaframe"><asp:ContentPlaceHolder id="PlaceHolderPageImage" runat="server"/></div></td>
<td class="ms-titleareaframe" id="TitleAreaFrameClass">
<asp:ContentPlaceHolder id="PlaceHolderTitleLeftBorder" runat="server">
<div class="ms-titleareaframe"><IMG SRC="/_layouts/images/blank.gif" width=1 height=100% alt=""></div>
</asp:ContentPlaceHolder>
</td>
<td valign=top id="onetidPageTitleAreaFrame" class='ms-pagetitleareaframe' nowrap>
<table id="onetidPageTitleAreaTable" cellpadding=0 cellspacing=0 width=100% border="0">
<tr>
<td valign="top" class="ms-titlearea">
<asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server">
<asp:SiteMapPath SiteMapProvider="SPContentMapProvider" id="ContentMap" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/>
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td height=100% valign=top ID=onetidPageTitle class="ms-pagetitle">
<h2 class="ms-pagetitle">
<asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />
</h2>
</td>
</tr>
</table>
</td>
<td class="ms-titlearearight">
<asp:ContentPlaceHolder id="PlaceHolderMiniConsole" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderTitleRightMargin" runat="server">
<div class="ms-titleareaframe" style='height:100%'><IMG SRC="/_layouts/images/blank.gif" width=1 height=1 alt=""></div>
</asp:ContentPlaceHolder></td>
</tr>
<asp:ContentPlaceHolder id="PlaceHolderTitleAreaSeparator" runat="server"/>
<TR>
<TD valign=top height=100% colspan="4">
<DIV id=contents>
<DIV class=resizableArea id=ctl00_rs1_ra1>
<DIV class=leftSection id=ctl00_rs1_raLeft style="WIDTH: 18%">
<div class="ms-leftareacell" valign=top height=100% id="LeftNavigationAreaCell">
<table class=ms-nav width=100% height=100% cellpadding=0 cellspacing=0>
<tr>
<td>
<TABLE height="100%" class=ms-navframe CELLPADDING=0 CELLSPACING=0 border="0">
<tr valign="top">
<td width="4px"><IMG SRC="/_layouts/images/blank.gif" width=4 height=1 alt=""></td>
<td valign="top" width="100%">
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" runat="server" />
<asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat="server" />
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server">
<div class="ms-quicklaunchouter">
<div class="ms-quickLaunch" style="width:100%">
<h3 class="ms-standardheader"><label class="ms-hidden">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,quiklnch_pagetitle%>" EncodeMethod="HtmlEncode"/></label>
<Sharepoint:SPSecurityTrimmedControl 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>
<Sharepoint:SPNavigationManager
id="QuickLaunchNavigationManager"
runat="server"
QuickLaunchControlId="QuickLaunchMenu"
ContainedControl="QuickLaunch"
EnableViewState="false">
<div>
<SharePoint:DelegateControl runat="server"
ControlId="QuickLaunchDataSource">
<Template_Controls>
<asp:SiteMapDataSource
SiteMapProvider="SPNavigationProvider"
ShowStartingNode="False"
id="QuickLaunchSiteMap"
StartingNodeUrl="sid:1025"
runat="server"
/>
</Template_Controls>
</SharePoint:DelegateControl>
<SharePoint:AspMenu
id="QuickLaunchMenu"
DataSourceId="QuickLaunchSiteMap"
runat="server"
Orientation="Vertical"
StaticDisplayLevels="2"
ItemWrap="true"
MaximumDynamicDisplayLevels="0"
StaticSubMenuIndent="0"
SkipLinkText=""
>
<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>
</div>
</Sharepoint:SPNavigationManager>
<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 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: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: 100%; ">
<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>
</div>
</Sharepoint:SPNavigationManager>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td>
<table class="ms-recyclebin" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td nowrap>
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/recyclebin.aspx" id="idNavLinkRecycleBin" ImageUrl="/_layouts/images/recycbin.gif" Text="<%$Resources:wss,StsDefault_RecycleBin%>" PermissionsString="DeleteListItems"/>
</td></tr>
</table>
</td></tr></table>
</div>
</div>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat="server"></asp:ContentPlaceHolder>
</td>
</tr>
<tr><td colspan=2><asp:ContentPlaceHolder id="PlaceHolderNavSpacer" runat="server"><IMG SRC="/_layouts/images/blank.gif" width=138 height=1 alt=""></asp:ContentPlaceholder></td></tr>
</TABLE>
</td>
</tr>
</table>
</Div>
</DIV>
<DIV onmouseup=ra_resizeStop() class=splitter
onmousedown="ra_resizeStart(event,this,'ctl00_rs1_raLeft')"
id=ctl00_rs1_raSplitter
ondblclick="ra_OpenCollapse('ctl00_rs1_raSplitter','ctl00_rs1_raLeft')"
onmouseover=HighlightSplitterBar(this.id,0);
title="单击并拖动可调整大小。双击或按 't' 可在隐藏和显示之间切换。" style="LEFT: 18%;"
onmouseout=HighlightSplitterBar(this.id,1);></DIV>
<DIV class=rightSection id=ctl00_rs1_raRight
onkeyup=' ra_keyPress(window.event, "ctl00_rs1_raSplitter","ctl00_rs1_raLeft")'><div class='ms-bodyareacell' valign="top">
<PlaceHolder id="MSO_ContentDiv" runat="server">
<table id="MSO_ContentTable" width=100% height="100%" border="0" cellspacing="0" cellpadding="0" class="ms-propertysheet">
<tr>
<td class='ms-bodyareaframe' valign="top" height="100%">
<A name="mainContent"></A>
<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</PlaceHolder>
</div>
</DIV></DIV></DIV>
</TD>
</TR>
<TR>
<TD class="ms-leftareacell" valign=top height=100% id="LeftNavigationAreaCell">
</TD>
<td><asp:ContentPlaceHolder id="PlaceHolderBodyLeftBorder" runat="server">
<div class="ms-pagemargin"><IMG SRC="/_layouts/images/blank.gif" width=10 height=1 alt=""></div>
</asp:ContentPlaceHolder></td>
<td class='ms-bodyareacell' valign="top">
</td>
<td class="ms-rightareacell"><asp:ContentPlaceHolder id="PlaceHolderBodyRightMargin" runat="server">
<div class="ms-pagemargin"><IMG SRC="/_layouts/images/blank.gif" width=10 height=1 alt=""></div>
</asp:ContentPlaceHolder></td>
</TR>
<tr>
<td class="ms-pagebottommarginleft"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-pagebottommargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-bodyareapagemargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-pagebottommarginright"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
</tr>
</TABLE></TD></TR>
</TABLE>
<asp:ContentPlaceHolder id="PlaceHolderFormDigest" runat="server">
<SharePoint:FormDigest runat=server/>
</asp:ContentPlaceHolder>
<input type="text" name="__spDummyText1" style="display:none;" size=1/>
<input type="text" name="__spDummyText2" style="display:none;" size=1/>
<SCRIPT src="/jt/testSite/spliter/mtps-bn1822.3.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
//<![CDATA[
window.attachEvent('onresize', ra_OnPageResize);
window.attachEvent('onload', ra_OnPageResize);
var splitter = document.getElementById("ctl00_rs1_raSplitter");
var leftSection = document.getElementById("ctl00_rs1_raLeft");
var tocWidth = GetCookie("tocwidth");
ra_redaw(splitter, leftSection, tocWidth==null?300:tocWidth);
//]]>
</SCRIPT>
</form>
<asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderTitleAreaClass" runat="server"/>
</BODY>
</HTML>
相关文章推荐
- 在SharePoint中模板中实现类似框架的结构:使用Splitter分割导航与内容区,拖动调整大小(一)
- javascript实现div的拖动并调整大小类似qq空间个性编辑模块
- javascript实现div的拖动并调整大小类似qq空间个性编辑模块
- 弹出窗口根据内容调整大小并居中的JS实现(适用IE、活动窗口和模式窗口)
- Cocos2d-x 3.0 开发(十四)使用UIScrollView 实现大小不同物品拖动展示
- 用WindowManager实现一个类似ios悬浮可拖动的虚拟导航按钮
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果
- 使用Python的web.py框架实现类似Django的ORM查询的教程
- 使用Python的web.py框架实现类似Django的ORM查询的教程
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android不使用图片框架,实现加载类似微博超长图片的技巧手法;
- 基于Spring AOP和Groovy日志模板配置的日志记录框架的二次实现与使用案例
- 使用freemarker实现静态模板维护及动态内容展示案例
- 使用jq重绘img大小+测试密码的强度+滚动时动态加载页面内容+导航菜单切换
- 服务器端的高性能实现(三)——框架结构的初步调整
- Android 自定义TextView实现文本内容自动调整字体大小以适应TextView的大小
- Android使用ViewPager实现类似laucher左右拖动效果
- 在SharePoint 2010中使用托管元数据导航和关键词筛选器查找列表或库的内容
- Android中如何使用ViewPager实现类似laucher左右拖动效果 3ff8