웹 페이지에 WebPart 컨트롤을 호스팅하기 위한 웹 파트 컨트롤 집합의 기본 컨트롤로 사용됩니다.
<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 컨트롤에는 웹 파트 응용 프로그램의 기본 UI(사용자 인터페이스)를 구성하는 WebPart 컨트롤이 포함됩니다. WebPartZone 컨트롤은 웹 페이지에 지속성 형식으로 선언될 수 있으며, 이 경우 개발자는 이 컨트롤을 템플릿으로 사용하여 asp:webpartzone 요소 안에 다른 서버 컨트롤을 추가할 수 있습니다. WebPartZone 영역에 추가되는 서버 컨트롤은 그 형식에 상관없이 런타임에 WebPart 컨트롤로 사용할 수 있습니다. 이는 추가된 컨트롤이 WebPart, 사용자 정의, 사용자 지정 또는 ASP.NET 컨트롤인지에 관계없이 모든 경우에 적용됩니다. 자세한 내용은 GenericWebPart를 참조하십시오.
WebPartZone 및 웹 파트 컨트롤에 대한 자세한 내용은 ASP.NET 웹 파트 컨트롤를 참조하십시오.
예제
다음 코드 예제에서는 Calendar 컨트롤을 사용하는 웹 파트 시나리오에서 WebPartZone 컨트롤을 선언적으로 사용하는 방법을 보여 줍니다. 사용자는 웹 페이지에서 편집 모드로 전환하여 Calendar 컨트롤의 특정 측면을 편집할 수 있습니다. Toggle Scope 단추는 페이지를 사용자 또는 공유 개인 설정 범위로 전환합니다. Edit Mode 및 Browse Mode 단추는 페이지를 해당 디스플레이 모드로 전환합니다. 파일의 <script> 태그 섹션에서 이벤트를 처리하는 메서드 중 두 메서드가 Personalization 속성을 사용하여 내부 개체의 유용한 멤버에 액세스합니다. 특히 이러한 메서드는 Personalization 속성을 통해 액세스한 개체에 대해 ToggleScope 메서드와 Scope 속성을 사용합니다.
코드 예제를 실행하려면 한 명 이상의 사용자가 공유 범위에서 페이지를 개인 설정할 수 있도록 설정해야 합니다. 이렇게 하려면 Web.config 파일의 webParts 요소(ASP.NET 설정 스키마)에 항목을 추가합니다.
<%@ 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>