更新:2007 年 11 月
做為在 Web 網頁上裝載 WebPart 控制項之 Web 組件控制項集合的主要控制項。
<asp:WebPartZone AccessKey="string" AllowLayoutChange="True|False" BackColor="color name|#dddddd" BackImageUrl="uri" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge| Inset|Outset" BorderWidth="size" CloseVerb-Checked="True|False" CloseVerb-Description="string" CloseVerb-Enabled="True|False" CloseVerb-ImageUrl="uri" CloseVerb-Text="string" CloseVerb-Visible="True|False" ConnectVerb-Checked="True|False" ConnectVerb-Description="string" ConnectVerb-Enabled="True|False" ConnectVerb-ImageUrl="uri" ConnectVerb-Text="string" ConnectVerb-Visible="True|False" CssClass="string" DeleteVerb-Checked="True|False" DeleteVerb-Description="string" DeleteVerb-Enabled="True|False" DeleteVerb-ImageUrl="uri" DeleteVerb-Text="string" DeleteVerb-Visible="True|False" DragHighlightColor="color name|#dddddd" EditVerb-Checked="True|False" EditVerb-Description="string" EditVerb-Enabled="True|False" EditVerb-ImageUrl="uri" EditVerb-Text="string" EditVerb-Visible="True|False" EmptyZoneText="string" Enabled="True|False" EnableTheming="True|False" EnableViewState="True|False" ExportVerb-Checked="True|False" ExportVerb-Description="string" ExportVerb-Enabled="True|False" ExportVerb-ImageUrl="uri" ExportVerb-Text="string" ExportVerb-Visible="True|False" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium| Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" HeaderText="string" Height="size" HelpVerb-Checked="True|False" HelpVerb-Description="string" HelpVerb-Enabled="True|False" HelpVerb-ImageUrl="uri" HelpVerb-Text="string" HelpVerb-Visible="True|False" ID="string" LayoutOrientation="Horizontal|Vertical" MenuCheckImageUrl="uri" MenuLabelText="string" MenuPopupImageUrl="uri" MinimizeVerb-Checked="True|False" MinimizeVerb-Description="string" MinimizeVerb-Enabled="True|False" MinimizeVerb-ImageUrl="uri" MinimizeVerb-Text="string" MinimizeVerb-Visible="True|False" OnCreateVerbs="CreateVerbs event handler" OnDataBinding="DataBinding event handler" OnDisposed="Disposed event handler" OnInit="Init event handler" OnLoad="Load event handler" OnPreRender="PreRender event handler" OnUnload="Unload event handler" Padding="integer" PartChromeType="Default|TitleAndBorder|None|TitleOnly|BorderOnly" RestoreVerb-Checked="True|False" RestoreVerb-Description="string" RestoreVerb-Enabled="True|False" RestoreVerb-ImageUrl="uri" RestoreVerb-Text="string" RestoreVerb-Visible="True|False" runat="server" ShowTitleIcons="True|False" SkinID="string" Style="string" TabIndex="integer" TitleBarVerbButtonType="Button|Image|Link" ToolTip="string" VerbButtonType="Button|Image|Link" Visible="True|False" WebPartVerbRenderMode="Menu|TitleBar" Width="size" > <EmptyZoneTextStyle /> <ErrorStyle /> <FooterStyle BackColor="color name|#dddddd" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double| Groove|Ridge|Inset|Outset" BorderWidth="size" CssClass="string" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small| Small|Medium|Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" Height="size" HorizontalAlign="NotSet|Left|Center|Right|Justify" OnDisposed="Disposed event handler" VerticalAlign="NotSet|Top|Middle|Bottom" Width="size" Wrap="True|False" /> <HeaderStyle BackColor="color name|#dddddd" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double| Groove|Ridge|Inset|Outset" BorderWidth="size" CssClass="string" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small| Small|Medium|Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" Height="size" HorizontalAlign="NotSet|Left|Center|Right|Justify" OnDisposed="Disposed event handler" VerticalAlign="NotSet|Top|Middle|Bottom" Width="size" Wrap="True|False" /> <PartChromeStyle /> <PartStyle BackColor="color name|#dddddd" BackImageUrl="uri" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double| Groove|Ridge|Inset|Outset" BorderWidth="size" CellPadding="integer" CellSpacing="integer" CssClass="string" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small| Small|Medium|Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" GridLines="None|Horizontal|Vertical|Both" Height="size" HorizontalAlign="NotSet|Left|Center|Right|Justify" OnDisposed="Disposed event handler" Width="size" /> <PartTitleStyle BackColor="color name|#dddddd" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double| Groove|Ridge|Inset|Outset" BorderWidth="size" CssClass="string" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small| Small|Medium|Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" Height="size" HorizontalAlign="NotSet|Left|Center|Right|Justify" OnDisposed="Disposed event handler" VerticalAlign="NotSet|Top|Middle|Bottom" Width="size" Wrap="True|False" /> <VerbStyle /> <CloseVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <ConnectVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <DeleteVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <EditVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <ExportVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <HelpVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <MenuCheckImageStyle /> <MenuLabelHoverStyle /> <MenuLabelStyle /> <MenuPopupStyle BackColor="color name|#dddddd" BackImageUrl="uri" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double| Groove|Ridge|Inset|Outset" BorderWidth="size" CellPadding="integer" CellSpacing="integer" CssClass="string" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small| Small|Medium|Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" GridLines="None|Horizontal|Vertical|Both" Height="size" OnDisposed="Disposed event handler" ShadowColor="color name|#dddddd" Width="size" /> <MenuVerbHoverStyle /> <MenuVerbStyle /> <MinimizeVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <RestoreVerb Checked="True|False" Description="string" Enabled="True|False" ImageUrl="uri" Text="string" Visible="True|False" /> <SelectedPartChromeStyle /> <TitleBarVerbStyle /> <ZoneTemplate> <!-- child controls --> </ZoneTemplate> </asp:WebPartZone>
備註
WebPartZone 控制項包含 WebPart 控制項,形成 Web 組件應用程式的主要使用者介面 (UI)。WebPartZone 控制項可以在 Web 網頁上以頁面保存格式宣告,讓開發人員以它為樣板並在 asp:webpartzone 項目內加入其他伺服器控制項。任何類型的伺服器控制項,只要加入至 WebPartZone 區域,便可在執行階段當做 WebPart 控制項。不管加入的控制項是 WebPart、使用者、自訂還是 ASP.NET 控制項,此均為 true。如需詳細資訊,請參閱 GenericWebPart。
如需 WebPartZone 和 Web 組件控制項的詳細資訊,請參閱 ASP.NET Web 組件控制項。
範例
下列程式碼範例將示範如何在 Web 組件案例中,利用 Calendar 控制項以宣告方式使用 WebPartZone 控制項。此 Web 網頁允許使用者進入編輯模式,以編輯 Calendar 控制項的某些外觀。[切換範圍] 按鈕會將頁面切換至使用者或共用個人化範圍。[編輯模式] 和 [瀏覽模式] 按鈕會分別將頁面切換為適當的顯示模式。請注意檔案的 <script> 標記區段中,處理事件的兩個方法會使用 Personalization 屬性來存取基礎物件的有用成員。具體而言,這些方法會使用 ToggleScope 方法及物件上的 Scope 屬性 (透過 Personalization 屬性存取)。
為了要讓此程式碼範例能夠執行,您也必須啟用一或多位使用者,在共用的範圍中將頁面個人化。若要進行這項操作,請在 webParts 項目 (ASP.NET 設定結構描述) 中,加入一個項目至 Web.config 檔案。
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If ((mgr1.Personalization.Scope = PersonalizationScope.User) _
And (mgr1.Personalization.CanEnterSharedScope)) Then
mgr1.Personalization.ToggleScope()
ElseIf (mgr1.Personalization.Scope = PersonalizationScope.Shared) Then
mgr1.Personalization.ToggleScope()
Else
'If the user cannot enter shared scope you may want
' to notify them on the page.
End If
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
mgr1.DisplayMode = WebPartManager.EditDisplayMode
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs)
mgr1.DisplayMode = WebPartManager.BrowseDisplayMode
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As CommandEventArgs)
Label1.Text = "Scope is: " _
+ mgr1.Personalization.Scope.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>Web Parts Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:LoginName id="LoginName1" runat="server" />
<asp:WebPartManager id="mgr1" runat="server">
<Personalization InitialScope="Shared" Enabled="True" />
</asp:WebPartManager>
<asp:WebPartZone id="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar id="Calendar1" runat="server" />
</ZoneTemplate>
<CloseVerb Text="Close This Part" />
<MinimizeVerb Text="Minimize This Part" />
<EditVerb Text="Edit This Part" />
</asp:WebPartZone>
<asp:EditorZone id="EditorZone1" runat="server">
<ZoneTemplate>
<asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
<asp:AppearanceEditorPart id="AppearanceEditorPart1"
runat="server" BackColor="LightGray" />
<asp:BehaviorEditorPart id="BehaviorEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<hr />
<asp:Button id="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click" />
<asp:Button id="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
<asp:Button id="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
<br />
<asp:Label id="Label1" runat="server" Text="" />
</div>
</form>
</body>
</html>
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
if ((mgr1.Personalization.Scope == PersonalizationScope.User)
&& (mgr1.Personalization.CanEnterSharedScope))
{
mgr1.Personalization.ToggleScope();
}
else if (mgr1.Personalization.Scope ==
PersonalizationScope.Shared)
{
mgr1.Personalization.ToggleScope();
}
else
{
// If the user cannot enter shared scope you may want
// to notify them on the page.
}
}
protected void Button2_Click(object sender, EventArgs e)
{
mgr1.DisplayMode = WebPartManager.EditDisplayMode;
}
protected void Button3_Click(object sender, EventArgs e)
{
mgr1.DisplayMode = WebPartManager.BrowseDisplayMode;
}
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "Scope is: "
+ mgr1.Personalization.Scope.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>Web Parts Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:LoginName id="LoginName1" runat="server" />
<asp:WebPartManager id="mgr1" runat="server">
<Personalization InitialScope="Shared" Enabled="True" />
</asp:WebPartManager>
<asp:WebPartZone id="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar id="Calendar1" runat="server" />
</ZoneTemplate>
<CloseVerb Text="Close This Part" />
<MinimizeVerb Text="Minimize This Part" />
<EditVerb Text="Edit This Part" />
</asp:WebPartZone>
<asp:EditorZone id="EditorZone1" runat="server">
<ZoneTemplate>
<asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
<asp:AppearanceEditorPart id="AppearanceEditorPart1"
runat="server" BackColor="LightGray" />
<asp:BehaviorEditorPart id="BehaviorEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<hr />
<asp:Button id="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click" />
<asp:Button id="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
<asp:Button id="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
<br />
<asp:Label id="Label1" runat="server" Text="" />
</div>
</form>
</body>
</html>