在创建自定义的SharePoint页面时,常常需要在其中定义一些WebPart,可是有时候简单的在<WebPartZone>中定义<WebPart>并不起作用。例如下面的代码有可能导致页面错误。
<WebPartPages:WebPartZone
runat=”server” FrameType=”TitleBarOnly” ID=”Left” Title=”loc:Left”>
<ZoneTemplate>
<WebPartPages:ImageWebPart
runat=”server”
Title=”Image Web Part” IsIncluded=”True” Dir=”Default”
ImageLink=”/_layouts/images/homepage.gif”
/>
</ZoneTemplate>
</WebPartPages:WebPartZone>
如果不确定怎样在一个WebPartPage页面中定义一个WebPart,可以先将这个WebPart放入一个SharePoint页面中,并做好相应的设置,然后用SharePoint Designer打开这页面,将WebPartZone中关于这个WebPart的定义拷贝出来,放入自定义的页面中。这个方法通常是可行的,例如上面的ImageWebPart的完整定义是下面这样。
<WebPartPages:WebPartZone
runat=”server” FrameType=”TitleBarOnly” ID=”Left” Title=”loc:Left”>
<ZoneTemplate>
<WebPartPages:ImageWebPart
runat=”server”
VerticalAlignment=”Middle” AllowEdit=”True”
AllowConnect=”True”
ConnectionID=”00000000-0000-0000-0000-000000000000″
Title=”Image Web Part” IsIncluded=”True” Dir=”Default”
BackgroundColor=”transparent”
IsVisible=”True”
AlternativeText=”Microsoft Windows SharePoint Services Logo”
AllowMinimize=”True” ExportControlledProperties=”True”
ZoneID=”Left” ID=”wpImage” HorizontalAlignment=”Left”
ImageLink=”/_layouts/images/homepage.gif”
ExportMode=”All” AllowHide=”True”
SuppressWebPartChrome=”False” DetailLink=””
ChromeType=”None” HelpLink=”” FrameState=”Normal”
MissingAssembly=”Cannot import this Web Part.”
PartImageSmall=”” AllowRemove=”True” HelpMode=”Modeless”
FrameType=”None” AllowZoneChange=”True” PartOrder=”1″
Description=”Use to display pictures and photos.”
PartImageLarge=”” IsIncludedFilter=””
__MarkupType=”vsattributemarkup”
__WebPartId=”{D2B9FF40-8979-4C57-9E5D-9582B5855F18}”
WebPart=”true” Height=”” Width=””></WebPartPages:ImageWebPart>
</ZoneTemplate>
</WebPartPages:WebPartZone>