WebPartZone Web 服务器控件声明性语法

更新:2007 年 11 月

用作 Web 部件控件集内的主控件,用于在网页中承载 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 控件包含 WebPart 控件,后者构成 Web 部件应用程序的主用户界面 (UI)。可以在网页上以持久性格式声明 WebPartZone 控件,以允许开发人员将其作为模板使用并在 asp:webpartzone 元素内添加其他服务器控件。对于任何类型的服务器控件,如果将其添加到 WebPartZone 区域,则都可以在运行时用作 WebPart 控件。无论添加的控件是 WebPart 控件、用户控件、自定义控件还是 ASP.NET 控件都是如此。有关更多信息,请参见 GenericWebPart

有关 WebPartZone 和 Web 部件控件的更多信息,请参见 ASP.NET Web 部件控件

示例

下面的代码示例演示如何利用 Calendar 控件以声明方式在 Web 部件方案中使用 WebPartZone 控件。用户可以通过网页进入编辑模式,以编辑 Calendar 控件的某些方面。“切换范围”按钮可将页面切换到用户或共享个性化设置范围。“编辑模式”和“浏览模式”按钮分别用于将页面切换到相应的显示模式。请注意,在文件的 <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>

请参见

参考

WebPartZone

其他资源

ASP.NET Web 部件控件