CatalogZoneBase 类

定义

用作充当目录的所有区域控件的基类。 目录包含 WebPart 控件的列表,用户可将这些控件添加到网页。

public ref class CatalogZoneBase abstract : System::Web::UI::WebControls::WebParts::ToolZone, System::Web::UI::IPostBackDataHandler
public abstract class CatalogZoneBase : System.Web.UI.WebControls.WebParts.ToolZone, System.Web.UI.IPostBackDataHandler
type CatalogZoneBase = class
    inherit ToolZone
    interface IPostBackDataHandler
Public MustInherit Class CatalogZoneBase
Inherits ToolZone
Implements IPostBackDataHandler
继承
派生
实现

示例

下面的代码示例演示 了 类的 CatalogZoneBase 几种声明性和编程用途。 由于 类是抽象类,因此代码示例使用 Web 部件控件集附带的派生 CatalogZone 类,演示了它从 CatalogZoneBase 类继承的属性和方法。

该代码示例包含四个部分:

  • 一个用户控件,可用于更改网页上的显示模式。

  • 一个网页,其中包含对控件的 CatalogZone 引用,以及一些代码,用于演示某些键 CatalogZoneBase 类成员的用法。

  • 添加到自定义 WebPart 控件的自定义 CatalogZone 控件。

  • 有关示例在浏览器中的工作原理的说明。

此代码示例的第一部分是用户控件,可用于更改页面上的显示模式。 有关显示模式的详细信息和此控件中的源代码说明,请参阅 演练:更改 Web 部件页上的显示模式

<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
  
 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName, modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

    // If shared scope is allowed for this user, display the scope-switching
    // UI and select the appropriate radio button for the current user scope.
    if (_manager.Personalization.CanEnterSharedScope)
    {
      Panel2.Visible = true;
      if (_manager.Personalization.Scope == PersonalizationScope.User)
        RadioButton1.Checked = true;
      else
        RadioButton2.Checked = true;
    }
    
  }
 
  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
  {
    String selectedMode = DisplayModeDropdown.SelectedValue;

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;
  }

  // Set the selected item equal to the current display mode.
  void Page_PreRender(object sender, EventArgs e)
  {
    ListItemCollection items = DisplayModeDropdown.Items;
    int selectedIndex = 
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
    DisplayModeDropdown.SelectedIndex = selectedIndex;
  }

  // Reset all of a user's personalization data for the page.
  protected void LinkButton1_Click(object sender, EventArgs e)
  {
    _manager.Personalization.ResetPersonalizationState();
  }

  // If not in User personalization scope, toggle into it.
  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.Scope == PersonalizationScope.Shared)
      _manager.Personalization.ToggleScope();
  }

  // If not in Shared scope, and if user is allowed, toggle the scope.
  protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.CanEnterSharedScope && 
        _manager.Personalization.Scope == PersonalizationScope.User)
      _manager.Personalization.ToggleScope();
  }
</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text="&nbsp;Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
  ' Use a field to reference the current WebPartManager.
  Dim _manager As WebPartManager

  Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
    AddHandler Page.InitComplete, AddressOf InitComplete
  End Sub

  Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
    _manager = WebPartManager.GetCurrentWebPartManager(Page)
      
    Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
      
    ' Fill the dropdown with the names of supported display modes.
    Dim mode As WebPartDisplayMode
    For Each mode In _manager.SupportedDisplayModes
      Dim modeName As String = mode.Name
      ' Make sure a mode is enabled before adding it.
      If mode.IsEnabled(_manager) Then
        Dim item As New ListItem(modeName, modeName)
        DisplayModeDropdown.Items.Add(item)
      End If
    Next mode
      
    ' If shared scope is allowed for this user, display the scope-switching
    ' UI and select the appropriate radio button for the current user scope.
    If _manager.Personalization.CanEnterSharedScope Then
      Panel2.Visible = True
      If _manager.Personalization.Scope = PersonalizationScope.User Then
        RadioButton1.Checked = True
      Else
        RadioButton2.Checked = True
      End If
    End If
   
  End Sub

  ' Change the page to the selected display mode.
  Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim selectedMode As String = DisplayModeDropdown.SelectedValue   
    Dim mode As WebPartDisplayMode = _
      _manager.SupportedDisplayModes(selectedMode)
    If Not (mode Is Nothing) Then
      _manager.DisplayMode = mode
    End If

  End Sub
   
  ' Set the selected item equal to the current display mode.
  Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
    Dim items As ListItemCollection = DisplayModeDropdown.Items
    Dim selectedIndex As Integer = _
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
    DisplayModeDropdown.SelectedIndex = selectedIndex

  End Sub

  ' Reset all of a user's personalization data for the page.
  Protected Sub LinkButton1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    _manager.Personalization.ResetPersonalizationState()
    
  End Sub

  ' If not in User personalization scope, toggle into it.
  Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.Scope = PersonalizationScope.Shared Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub
   
  ' If not in Shared scope, and if user is allowed, toggle the scope.
  Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.CanEnterSharedScope AndAlso _
      _manager.Personalization.Scope = PersonalizationScope.User Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub

</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text="&nbsp;Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>

代码示例的第二部分是包含对控件的声明性引用的 CatalogZone 网页。 页面顶部附近是两个 Register 指令-一个用于用户控件,一个用于自定义 WebPart 控件。 请注意, <asp:WebPartZone> 元素下方是一个 <asp: CatalogZone> 元素,其中包含对自定义 WebPart 控件和 ASP.NET 控件的 Calendar 声明性引用。 该区域还设置了各种标记和属性,以确定其外观和行为。 页面中的 <script> 标记之间是各种事件处理代码,其中大多数代码演示了成员的各种编程用途 CatalogZoneBase

<%@ page language="c#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenucs.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="TextDisplayWebPartCS" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  WebPartManager manager;

  protected void WebPartManager1_DisplayModeChanged(object sender,
    WebPartDisplayModeEventArgs e)
  {
    if (e.OldDisplayMode.Name != "Catalog")
      Panel1.Visible = true;
    else
      Panel1.Visible = false;
  }
  
  // <snippet3>
  protected void Button1_Click(object sender, EventArgs e)
  {
    if (CatalogZone1.AddVerb.Enabled)
    {
      CatalogZone1.AddVerb.Enabled = false;
      CatalogZone1.CloseVerb.Enabled = false;
    }
    else
    {
      CatalogZone1.AddVerb.Enabled = true;
      CatalogZone1.CloseVerb.Enabled = true;
    }
  }
  // </snippet3>

  // <snippet4>
  protected void Button2_Click(object sender, EventArgs e)
  {
    Label1.Text = "<h3>CatalogPart List</h3>";
    foreach(CatalogPart part in CatalogZone1.CatalogParts)
    {
      Label1.Text += part.ID + "<br />";
    }
  }
  // </snippet4>

  // <snippet5>
  protected void Button3_Click(object sender, EventArgs e)
  {
    CatalogZone1.SelectTargetZoneText = "Add to zone";
    CatalogZone1.EmptyZoneText = "Zone is empty";
    CatalogZone1.HeaderText = "My Updated Header";
    CatalogZone1.InstructionText = "My Updated Instructions";
  }
  // </snippet5>

  // <snippet6>
  protected void Button4_Click(object sender, EventArgs e)
  {
    Label1.Text = CatalogZone1.SelectedCatalogPartID;
  }
  // </snippet6>

  // <snippet7>
  protected void Button5_Click(object sender, EventArgs e)
  {
    CatalogZone1.PartLinkStyle.ForeColor = System.Drawing.Color.Red;
    CatalogZone1.SelectedPartLinkStyle.ForeColor = 
      System.Drawing.Color.Blue;
  }
  // </snippet7>

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      CatalogZoneBase Example
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" 
        OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
      <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server">
        <zonetemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>        
      </asp:webpartzone>
      <asp:CatalogZone ID="CatalogZone1" runat="server"
        EmptyZoneText="No controls are in the zone."
        HeaderText="My Web Parts Catalog"
        InstructionText="Add Web Parts controls to the zone."
        PartLinkStyle-Font-Italic="true"
        SelectedPartLinkStyle-Font-Bold="true"
        SelectTargetZoneText="Select zone"
        AddVerb-Text="Add Control"
        CloseVerb-Description="Close and return to browse mode." 
        SelectedCatalogPartID="Currently Selected CatalogPart ID.">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="textwebpart" 
                title = "Text Content WebPart" 
                ExportMode="All"/>  
              <asp:Calendar id="calendar1" runat="server" 
                Title="My Calendar" />               
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart> 
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
          <asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server" /> 
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:CatalogZone ID="CatalogZone2" runat="server"
        BorderWidth="2"
        HeaderText="My Empty CatalogZone"
        EmptyZoneText="No controls are in the zone." />
      <hr />
      <asp:Panel ID="Panel1" runat="server" Visible="false">
        <asp:Button ID="Button1" runat="server" Width="200" 
          Text="Enable or Disable Verbs" 
          OnClick="Button1_Click" />
        <br />
        <asp:Button ID="Button2" runat="server" Width="200" 
          Text="List CatalogParts" OnClick="Button2_Click" />  
        <br />
        <asp:Button ID="Button3" runat="server" Width="200" 
          Text="Set Zone Text Properties" OnClick="Button3_Click" />  
        <br />   
        <asp:Button ID="Button4" runat="server" Width="200" 
          Text="Show Selected CatalogPart ID" OnClick="Button4_Click"  />  
        <br /> 
        <asp:Button ID="Button5" runat="server" Width="200" 
          Text="Change Part Link Styles" OnClick="Button5_Click"  />  
        <br />     
        <asp:Label ID="Label1" runat="server" Text="" /></asp:Panel>
    </form>
  </body>
</html>
<%@ page language="vb" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuvb.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="TextDisplayWebPartVB" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">


  Dim manager As WebPartManager


  Protected Sub WebPartManager1_DisplayModeChanged(ByVal sender _
    As Object, ByVal e As WebPartDisplayModeEventArgs)
    If e.OldDisplayMode.Name <> "Catalog" Then
      Panel1.Visible = True
    Else
      Panel1.Visible = False
    End If

  End Sub
   
  ' <snippet3>
  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    If CatalogZone1.AddVerb.Enabled Then
      CatalogZone1.AddVerb.Enabled = False
      CatalogZone1.CloseVerb.Enabled = False
    Else
      CatalogZone1.AddVerb.Enabled = True
      CatalogZone1.CloseVerb.Enabled = True
    End If

  End Sub
  ' </snippet3>
  
  ' <snippet4>
  Protected Sub Button2_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    Label1.Text = "<h3>CatalogPart List</h3>"
    Dim part As CatalogPart
    For Each part In CatalogZone1.CatalogParts
      Label1.Text += part.ID + "<br />"
    Next part

  End Sub
  ' </snippet4>
  
  ' <snippet5>
  Protected Sub Button3_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    CatalogZone1.SelectTargetZoneText = "Add to zone"
    CatalogZone1.EmptyZoneText = "Zone is empty"
    CatalogZone1.HeaderText = "My Updated Header"
    CatalogZone1.InstructionText = "My Updated Instructions"
  End Sub
  ' </snippet5>
  
  ' <snippet6>
  Protected Sub Button4_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    Label1.Text = CatalogZone1.SelectedCatalogPartID
  End Sub
  ' </snippet6>
  
  ' <snippet7>
  Protected Sub Button5_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    CatalogZone1.PartLinkStyle.ForeColor = _
      System.Drawing.Color.Red
    CatalogZone1.SelectedPartLinkStyle.ForeColor = _
      System.Drawing.Color.Blue
  End Sub
  ' </snippet7>
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      CatalogZoneBase Example
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server" 
        OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
      <uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server">
        <zonetemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>        
      </asp:webpartzone>
      <asp:CatalogZone ID="CatalogZone1" runat="server"
        EmptyZoneText="No controls are in the zone."
        HeaderText="My Web Parts Catalog"
        InstructionText="Add Web Parts controls to the zone."
        PartLinkStyle-Font-Italic="true"
        SelectedPartLinkStyle-Font-Bold="true"
        SelectTargetZoneText="Select zone"
        AddVerb-Text="Add Control"
        CloseVerb-Description="Close and return to browse mode." 
        SelectedCatalogPartID="Currently Selected CatalogPart ID.">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="textwebpart" 
                title = "Text Content WebPart" 
                ExportMode="All"/>  
              <asp:Calendar id="calendar1" runat="server" 
                Title="My Calendar" />               
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart> 
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
          <asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server" /> 
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:CatalogZone ID="CatalogZone2" runat="server"
        BorderWidth="2"
        HeaderText="My Empty CatalogZone"
        EmptyZoneText="No controls are in the zone." />
      <hr />
      <asp:Panel ID="Panel1" runat="server" Visible="false">
        <asp:Button ID="Button1" runat="server" Width="200" 
          Text="Enable or Disable Verbs" 
          OnClick="Button1_Click" />
        <br />
        <asp:Button ID="Button2" runat="server" Width="200" 
          Text="List CatalogParts" OnClick="Button2_Click" />  
        <br />
        <asp:Button ID="Button3" runat="server" Width="200" 
          Text="Set Zone Text Properties" OnClick="Button3_Click" />  
        <br />   
        <asp:Button ID="Button4" runat="server" Width="200" 
          Text="Show Selected CatalogPart ID" OnClick="Button4_Click"  />  
        <br /> 
        <asp:Button ID="Button5" runat="server" Width="200" 
          Text="Change Part Link Styles" OnClick="Button5_Click"  />  
        <br />     
        <asp:Label ID="Label1" runat="server" Text="" /></asp:Panel>
    </form>
  </body>
</html>

代码示例的第三部分是名为 的TextDisplayWebPart自定义WebPart控件。 它在区域中声明,最终用户可以从目录中将其添加到页面。 若要运行代码示例,必须编译此源代码。 可以显式编译它,并将生成的程序集放入网站的 Bin 文件夹或全局程序集缓存中。 或者,可以将源代码放入站点的“App_Code”文件夹中,并在运行时动态编译源代码。 有关这两种编译方法的演示,请参阅 演练:开发和使用自定义 Web 服务器控件

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class TextDisplayWebPart : WebPart
  {
    private String _contentText = null;
    TextBox input;
    Label DisplayContent;
    Literal lineBreak;

    [Personalizable(), WebBrowsable]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      this.Controls.Add(DisplayContent);

      lineBreak = new Literal();
      lineBreak.Text = @"<br />";
      Controls.Add(lineBreak);

      input = new TextBox();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Set Label Content";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);
    }

    private void submit_Click(object sender, EventArgs e)
    {
      // Update the label string.
      if (!string.IsNullOrEmpty(input.Text))
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }
  }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class TextDisplayWebPart
    Inherits WebPart
    Private _contentText As String = Nothing
    Private _fontStyle As String = Nothing
    Private input As TextBox
    Private DisplayContent As Label
    Private lineBreak As Literal

    <Personalizable(), WebBrowsable()> _
    Public Property ContentText() As String
      Get
        Return _contentText
      End Get
      Set(ByVal value As String)
        _contentText = value
      End Set
    End Property

    Protected Overrides Sub CreateChildControls()
      Controls.Clear()
      DisplayContent = New Label()
      DisplayContent.BackColor = Color.LightBlue
      DisplayContent.Text = Me.ContentText
      Me.Controls.Add(DisplayContent)

      lineBreak = New Literal()
      lineBreak.Text = "<br />"
      Controls.Add(lineBreak)

      input = New TextBox()
      Me.Controls.Add(input)
      Dim update As New Button()
      update.Text = "Set Label Content"
      AddHandler update.Click, AddressOf Me.submit_Click
      Me.Controls.Add(update)

    End Sub

    Private Sub submit_Click(ByVal sender As Object, _
                             ByVal e As EventArgs)
      ' Update the label string.
      If input.Text <> String.Empty Then
        _contentText = input.Text + "<br />"
        input.Text = String.Empty
        DisplayContent.Text = Me.ContentText
      End If

    End Sub

  End Class

End Namespace

请注意,为了使代码示例正常工作,必须在 Web.config 文件中添加一个设置,以启用导出 Web 部件说明文件。 确保在此代码示例的网页所在的同一目录中有一个 Web.config 文件。 在 节中<system.web>,确保有一个<webParts>属性设置为 true的元素enableExport,如以下标记所示。

<webParts enableExport="true">

...

</webParts>

在浏览器中加载页面时,可以从下拉列表框中选择“ 目录 ”以切换到目录显示模式。 当目录可见时,可以看到可从目录添加到页面的两个服务器控件,还可以在 UI 中记下类成员的声明性和编程使用 CatalogZoneBase 效果。

注解

CatalogZoneBase 是继承自 ToolZone 类的基类。 它为派生区域提供一组基本行为。

CatalogZoneBase 提供唯一的用户界面 (UI) ,使用户能够将控件和其他服务器控件添加到 WebPart 网页。 派生自 类的 CatalogZoneBase 控件(如 CatalogZone)是实际放置在网页上的控件。 它们充当其他控件(称为控件) CatalogPart 的容器,这些控件可创建供用户添加到页面的服务器控件列表。 派生自 CatalogZoneBase 类的区域仅当页面处于目录显示模式时才能显示。

注意

区域 CatalogZoneBase 只能 CatalogPart 包含控件,相反, CatalogPart 控件只能驻留在 CatalogZoneBase 区域中。

将服务器控件添加到目录的机制是派生自基 CatalogPart 类的以下三个控件集。

控制 说明
PageCatalogPart 维护对已在页面上关闭的控件的引用。 这些控件可以重新打开, (用户) 添加到页面。
DeclarativeCatalogPart 包含对网页标记的 Web 部件目录中声明的控件的引用。 用户可以将这些控件添加到网页。
ImportCatalogPart 为用户提供 UI,以便将定义文件上传到目录,以便可以将控件添加到网页。 定义文件是具有 的 XML 文件。导入控件设置的 WebPart 文件扩展名。 该控件必须存在于服务器上,然后才能导入定义文件。

CatalogZoneBase 具有许多可用于显示控件目录 WebPart 的属性。 属性 AddVerb 引用从目录中将所选控件添加到页面的谓词,而 CloseVerb 属性引用关闭目录并将页面的显示模式返回到浏览模式的谓词。 属性 CatalogParts 引用区域中所有 CatalogPart 控件的集合。 几个面向文本的属性(如 EmptyZoneTextHeaderTextInstructionText)替代基属性,以提供适合目录的默认文本。 属性 SelectTargetZoneText 包含文本以及下拉列表控件,该控件允许用户选择控件将添加到哪个区域。

类中包含 CatalogZoneBase 其他几个属性。 属性 SelectedCatalogPartID 是当前所选 CatalogPart 控件的唯一字符串标识符。 属性 ShowCatalogIcons 指示是否通过设置 CatalogIconImageUrl 控件上的 WebPart 属性来显示可与控件关联的图标。

属性 PartLinkStyle 包含指向区域中当前未选择的 CatalogPart 控件的链接的样式属性。 相比之下, SelectedPartLinkStyle 属性包含指向用户当前在区域中选择的控件的链接 CatalogPart 的样式属性。

除了属性外,类中 CatalogZoneBase 还有一些方法,以及继承自其他基控件的标准事件处理和呈现方法,这些方法专为处理控件目录而设计。 方法 CreateCatalogPartChrome (外围 UI 元素(如边框、谓词、图标和标题) )创建版式,该元素环绕区域中每个 CatalogPart 控件,同时处理控件的呈现。 方法 CreateCatalogParts 是一个抽象方法;派生类重写它以创建区域中包含的所有 CatalogPart 控件的实例。 InvalidateCatalogParts如果区域中的控件集合由于某种编程原因而更改,并且派生类CatalogPart需要重新创建集合,则派生类可以调用 方法。 每当页面发回服务器时,方法LoadPostData将加载目录中控件旁边的WebPart检查框的先前现有状态;相反,SaveControlState该方法会保存检查框的状态。 最后, RenderCatalogPartLinks 方法为区域中包含的每个 CatalogPart 控件的链接提供所有呈现。

实施者说明

如果要开发用于托管 CatalogPart 控件的自定义区域,则必须确定是否要提供区域模板支持。 区域模板由实现 ITemplate 接口的类型创建,如果要使页面开发人员能够使用自定义区域在网页的声明性标记中引用 CatalogPart 区域中的控件,则区域模板是必需的。 如果需要区域模板支持,应从 CatalogZone 类继承。 相比之下,如果你的自定义区域及其 CatalogPart 控件是自包含的,并且以编程方式创建它们时,页面开发人员无需任何选项即可在区域模板中以声明方式指定控件,则可以直接从 CatalogZoneBase 类继承。 如果继承自 CatalogZoneBase 类,则必须重写 CreateCatalogParts() 方法,并将目录中所需的 或其他服务器控件添加到 WebPartCatalogPartCollection 对象。

构造函数

CatalogZoneBase()

初始化该类供继承的类实例使用。 此构造函数只能由继承的类调用。

属性

AccessKey

获取或设置使您得以快速导航到 Web 服务器控件的访问键。

(继承自 WebControl)
Adapter

获取控件的浏览器特定适配器。

(继承自 Control)
AddVerb

获取对 WebPartVerb 对象的引用,最终用户使用该对象可以将控件从目录添加到 Web 部件页。

AppRelativeTemplateSourceDirectory

获取或设置包含该控件的 PageUserControl 对象的应用程序相对虚拟目录。

(继承自 Control)
AssociatedDisplayModes

获取与特定 WebPartDisplayMode 区域关联的 ToolZone 对象的集合。

(继承自 ToolZone)
Attributes

获取与控件的特性不对应的任意特性(只用于呈现)的集合。

(继承自 WebControl)
BackColor

获取或设置 Web 服务器控件的背景色。

(继承自 WebControl)
BackImageUrl

获取或设置指向区域的背景图像的 URL。

(继承自 WebZone)
BindingContainer

获取包含该控件的数据绑定的控件。

(继承自 Control)
BorderColor

获取或设置 Web 控件的边框颜色。

(继承自 WebControl)
BorderStyle

获取或设置 Web 服务器控件的边框样式。

(继承自 WebControl)
BorderWidth

获取或设置 Web 服务器控件的边框宽度。

(继承自 WebControl)
CatalogPartChrome

获取对 CatalogPartChrome 类的实例的引用,该类与 CatalogZoneBase 区域关联。

CatalogParts

获取 CatalogPart 区域中包含的所有 CatalogZoneBase 控件的集合。

ChildControlsCreated

获取一个值,该值指示是否已创建服务器控件的子控件。

(继承自 Control)
ClientID

获取由 ASP.NET 生成的 HTML 标记的控件 ID。

(继承自 Control)
ClientIDMode

获取或设置用于生成 ClientID 属性值的算法。

(继承自 Control)
ClientIDSeparator

获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。

(继承自 Control)
CloseVerb

获取对 WebPartVerb 对象的引用,最终用户可使用该对象关闭目录用户界面 (UI) 并将页返回到正常浏览模式。

Context

为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。

(继承自 Control)
Controls

获取表示 ControlCollection 中的子控件的 CompositeControl 对象。

(继承自 CompositeControl)
ControlStyle

获取 Web 服务器控件的样式。 此属性主要由控件开发人员使用。

(继承自 WebControl)
ControlStyleCreated

获取一个值,该值指示是否已为 Style 属性创建了 ControlStyle 对象。 此属性主要由控件开发人员使用。

(继承自 WebControl)
CssClass

获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。

(继承自 WebControl)
DataItemContainer

如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。

(继承自 Control)
DataKeysContainer

如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。

(继承自 Control)
DesignMode

获取一个值,该值指示是否正在使用设计图面上的一个控件。

(继承自 Control)
Display

获取一个值,该值指示 ToolZone 控件当前是否正在显示。

(继承自 ToolZone)
EditUIStyle

获取 ToolZone 控件中包含的可编辑控件的样式特性。

(继承自 ToolZone)
EmptyZoneText

获取或设置当区域不包含任何控件时显示的消息。

EmptyZoneTextStyle

获取空区域中的占位符文本的样式特性。

(继承自 WebZone)
Enabled

获取或设置一个值,该值指示是否启用 Web 服务器控件。

(继承自 WebControl)
EnableTheming

获取或设置一个值,该值指示主题是否应用于该控件。

(继承自 WebControl)
EnableViewState

获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。

(继承自 Control)
ErrorStyle

获取用于呈现在无法加载或创建 WebPart 控件时显示的错误消息的样式特性。

(继承自 WebZone)
Events

获取控件的事件处理程序委托列表。 此属性为只读。

(继承自 Control)
Font

获取与 Web 服务器控件关联的字体属性。

(继承自 WebControl)
FooterStyle

获取区域的页脚区域内容的样式特性。

(继承自 WebZone)
ForeColor

获取或设置 Web 服务器控件的前景色(通常是文本颜色)。

(继承自 WebControl)
HasAttributes

获取一个值,该值指示控件是否具有特性集。

(继承自 WebControl)
HasChildViewState

获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。

(继承自 Control)
HasFooter

获取一个值,该值指示区域中是否具有页脚区域。

(继承自 WebZone)
HasHeader

获取一个值,该值指示区域是否具有页眉区域。

(继承自 WebZone)
HeaderCloseVerb

获取对位于 WebPartVerb 控件的页眉中,用于关闭该控件的 ToolZone 对象的引用。

(继承自 ToolZone)
HeaderStyle

获取区域的页眉区域内容的样式特性。

(继承自 WebZone)
HeaderText

获取或设置区域的页眉区的文本。

HeaderVerbStyle

获取在 ToolZone 控件中显示的所有页眉谓词的样式特性。

(继承自 ToolZone)
Height

获取或设置 Web 服务器控件的高度。

(继承自 WebControl)
ID

获取或设置分配给服务器控件的编程标识符。

(继承自 Control)
IdSeparator

获取用于分隔控件标识符的字符。

(继承自 Control)
InstructionText

获取或设置区域中为最终用户提供说明的文本。

InstructionTextStyle

获取在 ToolZone 控件的顶部显示的说明文本的样式特性。

(继承自 ToolZone)
IsChildControlStateCleared

获取一个值,该值指示该控件中包含的控件是否具有控件状态。

(继承自 Control)
IsEnabled

获取一个值,该值指示是否启用控件。

(继承自 WebControl)
IsTrackingViewState

获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。

(继承自 Control)
IsViewStateEnabled

获取一个值,该值指示是否为该控件启用了视图状态。

(继承自 Control)
LabelStyle

获取在 ToolZone 控件中的编辑控件旁显示的标签内容的样式特性。 派生的 ToolZone 控件(如 CatalogZoneEditorZone)将这些样式应用于标签。

(继承自 ToolZone)
LoadViewStateByID

获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。

(继承自 Control)
NamingContainer

获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。

(继承自 Control)
Padding

获取或设置区域中包含 WebPart 控件的表的单元格填充特性。

(继承自 WebZone)
Page

获取对包含服务器控件的 Page 实例的引用。

(继承自 Control)
Parent

获取对页 UI 层次结构中服务器控件的父控件的引用。

(继承自 Control)
PartChromePadding

获取或设置 WebPart 控件的内容和此控件的边框之间的距离。

(继承自 WebZone)
PartChromeStyle

获取适用于区域所包含的 Web 部件控件的边框的样式属性。

(继承自 WebZone)
PartChromeType

获取或设置构成区域所包含的 Web 部件控件的框架的边框类型。

(继承自 WebZone)
PartLinkStyle

获取一个对象,该对象包含区域中当前未选 CatalogPart 控件的样式特性。

PartStyle

获取适用于区域所包含的每个 Web 部件控件的边框和内容的样式属性。

(继承自 WebZone)
PartTitleStyle

获取区域所包含的每个 Web 部件控件的标题栏内容的样式特性。

(继承自 WebZone)
RenderClientScript

获取一个值,该值指示是否在 Web 部件页上呈现客户端脚本。

(继承自 WebZone)
RenderingCompatibility

获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。

(继承自 Control)
SelectedCatalogPartID

获取或设置一个字符串,该字符串用作区域中当前所选 CatalogPart 控件的标识符。

SelectedPartLinkStyle

获取一个对象,该对象包含区域中当前所选 CatalogPart 控件的样式特性。

SelectTargetZoneText

获取或设置目录用户界面 (UI) 中的控件旁边的文本,该控件允许用户选择将所选控件添加到哪个区域。

ShowCatalogIcons

获取或设置一个值,该值指示目录中的服务器控件是否在目录中显示其关联图标。

Site

获取容器信息,该容器在呈现于设计图面上时承载当前控件。

(继承自 Control)
SkinID

获取或设置要应用于控件的外观。

(继承自 WebControl)
Style

获取将在 Web 服务器控件的外部标记上呈现为样式特性的文本特性的集合。

(继承自 WebControl)
SupportsDisabledAttribute

获取一个值,该值指示在控件的 disabled 属性为 IsEnabled 时,控件是否应将呈现的 HTML 元素的 false 特性设置为 "disabled"。

(继承自 CompositeControl)
TabIndex

获取或设置 Web 服务器控件的选项卡索引。

(继承自 WebControl)
TagKey

获取对应于此 Web 服务器控件的 HtmlTextWriterTag 值。 此属性主要由控件开发人员使用。

(继承自 WebZone)
TagName

获取控件标记的名称。 此属性主要由控件开发人员使用。

(继承自 WebControl)
TemplateControl

获取或设置对包含该控件的模板的引用。

(继承自 Control)
TemplateSourceDirectory

获取包含当前服务器控件的 PageUserControl 的虚拟目录。

(继承自 Control)
ToolTip

获取或设置当鼠标指针悬停在 Web 服务器控件上时显示的文本。

(继承自 WebControl)
UniqueID

获取服务器控件的唯一的、以分层形式限定的标识符。

(继承自 Control)
ValidateRequestMode

获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。

(继承自 Control)
VerbButtonType

获取或设置区域中用于表示谓词的按钮的种类。

(继承自 WebZone)
VerbStyle

获取与区域中的 Web 部件控件关联的用户界面 (UI) 谓词的样式特性。

(继承自 WebZone)
ViewState

获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。

(继承自 Control)
ViewStateIgnoresCase

获取一个值,该值指示 StateBag 对象是否不区分大小写。

(继承自 Control)
ViewStateMode

获取或设置此控件的视图状态模式。

(继承自 Control)
Visible

获取或设置一个值,该值指示服务器控件是否作为用户界面 (UI) 元素呈现在页上。

(继承自 ToolZone)
WebPartManager

获取对与 Web 部件页上的 WebPartManager 控件实例关联的 WebZone 控件的引用。

(继承自 WebZone)
Width

获取或设置 Web 服务器控件的宽度。

(继承自 WebControl)

方法

AddAttributesToRender(HtmlTextWriter)

将需要呈现的 HTML 特性和样式添加到指定的 HtmlTextWriterTag 中。 此方法主要由控件开发人员使用。

(继承自 WebControl)
AddedControl(Control, Int32)

在子控件添加到 Control 对象的 Controls 集合后调用。

(继承自 Control)
AddParsedSubObject(Object)

通知服务器控件,分析了一个元素(XML 或 HTML),并将该元素添加到服务器控件的 ControlCollection 对象中。

(继承自 Control)
ApplyStyle(Style)

将指定样式的所有非空白元素复制到 Web 控件,覆盖控件的所有现有的样式元素。 此方法主要由控件开发人员使用。

(继承自 WebControl)
ApplyStyleSheetSkin(Page)

将页样式表中定义的样式属性应用到控件。

(继承自 Control)
BeginRenderTracing(TextWriter, Object)

开始输出数据的设计时追踪。

(继承自 Control)
BuildProfileTree(String, Boolean)

收集有关服务器控件的信息并将该信息发送到 Trace 属性,在启用页的跟踪功能时将显示该属性。

(继承自 Control)
ClearCachedClientID()

将缓存的 ClientID 值设置为 null

(继承自 Control)
ClearChildControlState()

删除服务器控件的子控件的控件状态信息。

(继承自 Control)
ClearChildState()

删除服务器控件的所有子控件的视图状态和控件状态信息。

(继承自 Control)
ClearChildViewState()

删除服务器控件的所有子控件的视图状态信息。

(继承自 Control)
ClearEffectiveClientIDMode()

将当前控件实例和任何子控件的 ClientIDMode 属性设置为 Inherit

(继承自 Control)
Close()

将网页从目录显示模式切换到正常浏览模式。

CopyBaseAttributes(WebControl)

Style 对象未封装的属性从指定的 Web 服务器控件复制到从中调用此方法的 Web 服务器控件。 此方法主要由控件开发人员使用。

(继承自 WebControl)
CreateCatalogPartChrome()

创建 CatalogPartChrome 对象的实例,该对象用于呈现区域中 CatalogPart 控件的外围用户界面 (UI) 元素。

CreateCatalogParts()

提供一个基方法声明,派生的区域可以重写该声明,以便处理创建 CatalogPart 控件的详细信息,这些控件包含在某个区域中。

CreateChildControls()

创建与 CatalogZoneBase 区域关联的子控件集。

CreateControlCollection()

创建一个新 ControlCollection 对象来保存服务器控件的子控件(包括文本控件和服务器控件)。

(继承自 Control)
CreateControlStyle()

创建由 WebControl 类在内部用来实现所有与样式有关的属性的样式对象。 此方法主要由控件开发人员使用。

(继承自 WebControl)
DataBind()

将数据源绑定到 CompositeControl 及其所有子控件。

(继承自 CompositeControl)
DataBind(Boolean)

将数据源绑定到调用的服务器控件及其所有子控件,同时可以选择引发 DataBinding 事件。

(继承自 Control)
DataBindChildren()

将数据源绑定到服务器控件的子控件。

(继承自 Control)
Dispose()

使服务器控件得以在从内存中释放之前执行最后的清理操作。

(继承自 Control)
EndRenderTracing(TextWriter, Object)

结束输出数据的设计时追踪。

(继承自 Control)
EnsureChildControls()

确定服务器控件是否包含子控件。 如果不包含,则创建子控件。

(继承自 Control)
EnsureID()

为尚未分配标识符的控件创建标识符。

(继承自 Control)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FindControl(String)

在当前的命名容器中搜索带指定 id 参数的服务器控件。

(继承自 Control)
FindControl(String, Int32)

使用指定的 idpathOffset 参数(该参数有助于搜索)中指定的整数在当前命名容器中搜索服务器控件。 不应重写此版本的 FindControl 方法。

(继承自 Control)
Focus()

为控件设置输入焦点。

(继承自 Control)
GetDesignModeState()

获取控件的设计时数据。

(继承自 Control)
GetEffectiveChromeType(Part)

给定该区域的 PartChromeType 属性以及 Web 部件页的当前显示模式,则返回 WebPart 控件实际或有效的当前 PartChromeType 值。

(继承自 WebZone)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetRouteUrl(Object)

获取与一组路由参数对应的 URL。

(继承自 Control)
GetRouteUrl(RouteValueDictionary)

获取与一组路由参数对应的 URL。

(继承自 Control)
GetRouteUrl(String, Object)

获取与一组路由参数以及某个路由名称对应的 URL。

(继承自 Control)
GetRouteUrl(String, RouteValueDictionary)

获取与一组路由参数以及某个路由名称对应的 URL。

(继承自 Control)
GetType()

获取当前实例的 Type

(继承自 Object)
GetUniqueIDRelativeTo(Control)

返回指定控件的 UniqueID 属性的前缀部分。

(继承自 Control)
HasControls()

确定服务器控件是否包含任何子控件。

(继承自 Control)
HasEvents()

返回一个值,该值指示是否为控件或任何子控件注册事件。

(继承自 Control)
InvalidateCatalogParts()

销毁与 CatalogPart 区域关联的 CatalogZoneBase 控件集合。

IsLiteralContent()

确定服务器控件是否只包含文字内容。

(继承自 Control)
LoadControlState(Object)

加载上一次控件属性页请求的状态,即使控件禁用视图状态,也应在回发间保存控件属性。

LoadPostData(String, NameValueCollection)

当页回发到服务器时,处理目录中 WebPart 控件的对应复选框的状态。

LoadViewState(Object)

为某个区域加载以前保存的状态信息。

MapPathSecure(String)

检索虚拟路径(绝对的或相对的)映射到的物理路径。

(继承自 Control)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MergeStyle(Style)

将指定样式的所有非空白元素复制到 Web 控件,但不覆盖该控件现有的任何样式元素。 此方法主要由控件开发人员使用。

(继承自 WebControl)
OnBubbleEvent(Object, EventArgs)

确定服务器控件的事件是否沿页的 UI 服务器控件层次结构向上传递。

(继承自 Control)
OnDataBinding(EventArgs)

引发 DataBinding 事件。

(继承自 Control)
OnDisplayModeChanged(Object, WebPartDisplayModeEventArgs)

提供一个可由派生的 ToolZone 控件进行重写的基方法声明,以处理更改专用区域的页显示模式的详细信息。

(继承自 ToolZone)
OnInit(EventArgs)

注册页对象以使页需要控件状态。

OnLoad(EventArgs)

引发 Load 事件。

(继承自 Control)
OnPreRender(EventArgs)

引发 PreRender 事件并注册页对象以使其需要回发。

OnSelectedWebPartChanged(Object, WebPartEventArgs)

提供一个可由派生的 ToolZone 控件进行重写的基方法声明,以处理在专用区域中更改所选择的 Web 部件控件的事件。

(继承自 ToolZone)
OnUnload(EventArgs)

引发 Unload 事件。

(继承自 Control)
OpenFile(String)

获取用于读取文件的 Stream

(继承自 Control)
RaiseBubbleEvent(Object, EventArgs)

将所有事件源及其信息分配给控件的父级。

(继承自 Control)
RaisePostBackEvent(String)

执行与某一区域谓词关联的操作,或引发发布回服务器的事件。

RecreateChildControls()

在派生自 CompositeControl 的控件中重新创建子控件。

(继承自 CompositeControl)
RemovedControl(Control)

Control 对象的 Controls 集合移除子控件后调用。

(继承自 Control)
Render(HtmlTextWriter)

将区域呈现给指定的 HtmlTextWriter 对象。

RenderBeginTag(HtmlTextWriter)

将区域控件的 HTML 开始标记呈现为指定的 HtmlTextWriter 对象。

(继承自 WebZone)
RenderBody(HtmlTextWriter)

重写基方法,以便呈现某个区域的正文区,该区域从 CatalogZoneBase 类派生。

RenderCatalogPartLinks(HtmlTextWriter)

呈现到 CatalogPart 区域中单个 CatalogZoneBase 控件的链接。

RenderChildren(HtmlTextWriter)

将服务器控件子级的内容输出到提供的 HtmlTextWriter 对象,该对象可写入要在客户端上呈现的内容。

(继承自 Control)
RenderContents(HtmlTextWriter)

将区域控件中开始标记和结束标记之间的所有内容呈现为指定的 HtmlTextWriter 对象。

(继承自 WebZone)
RenderControl(HtmlTextWriter)

将服务器控件内容输出到所提供的 HtmlTextWriter 对象,如果启用了跟踪,则还将存储有关该控件的跟踪信息。

(继承自 Control)
RenderControl(HtmlTextWriter, ControlAdapter)

使用提供的 HtmlTextWriter 对象将服务器控件内容输出到提供的 ControlAdapter 对象。

(继承自 Control)
RenderEndTag(HtmlTextWriter)

将控件的 HTML 结束标记呈现到指定的编写器中。 此方法主要由控件开发人员使用。

(继承自 WebControl)
RenderFooter(HtmlTextWriter)

呈现 CatalogZoneBase 区域的页脚区。

RenderHeader(HtmlTextWriter)

重写基方法以便为 ToolZone 控件所需的页眉区域提供专用呈现。

(继承自 ToolZone)
RenderVerb(HtmlTextWriter, WebPartVerb)

呈现 ToolZone 控件中的单个谓词。

(继承自 ToolZone)
RenderVerbs(HtmlTextWriter)

呈现 CatalogZoneBase 区域页脚区中的谓词。

ResolveAdapter()

获取负责呈现指定控件的控件适配器。

(继承自 Control)
ResolveClientUrl(String)

获取浏览器可以使用的 URL。

(继承自 Control)
ResolveUrl(String)

将 URL 转换为在请求客户端可用的 URL。

(继承自 Control)
SaveControlState()

保存在网页回发到服务器之后 CatalogZoneBase 控件状态发生的所有更改。

SaveViewState()

将页面发布回服务器之后,保存已发生的所有视图状态的更改。

SetDesignModeState(IDictionary)

为控件设置设计时数据。

(继承自 Control)
SetRenderMethodDelegate(RenderMethod)

分配事件处理程序委托,以将服务器控件及其内容呈现到父控件中。

(继承自 Control)
SetTraceData(Object, Object)

使用跟踪数据键和跟踪数据值,为呈现数据的设计时追踪设置跟踪数据。

(继承自 Control)
SetTraceData(Object, Object, Object)

使用跟踪对象、跟踪数据键和跟踪数据值,为呈现数据的设计时追踪设置跟踪数据。

(继承自 Control)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TrackViewState()

曲目更改为区域控件的视图状态。

事件

DataBinding

当服务器控件绑定到数据源时发生。

(继承自 Control)
Disposed

当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。

(继承自 Control)
Init

当服务器控件初始化时发生;初始化是控件生存期的第一步。

(继承自 Control)
Load

当服务器控件加载到 Page 对象中时发生。

(继承自 Control)
PreRender

在加载 Control 对象之后、呈现之前发生。

(继承自 Control)
Unload

当服务器控件从内存中卸载时发生。

(继承自 Control)

显式接口实现

IAttributeAccessor.GetAttribute(String)

获取具有指定名称的 Web 控件的特性。

(继承自 WebControl)
IAttributeAccessor.SetAttribute(String, String)

将 Web 控件的特性设置为指定的名称和值。

(继承自 WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

启用设计器,以便在设计时环境中重新创建子控件的复合控件集合。

(继承自 CompositeControl)
IControlBuilderAccessor.ControlBuilder

有关此成员的说明,请参见 ControlBuilder

(继承自 Control)
IControlDesignerAccessor.GetDesignModeState()

有关此成员的说明,请参见 GetDesignModeState()

(继承自 Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

有关此成员的说明,请参见 SetDesignModeState(IDictionary)

(继承自 Control)
IControlDesignerAccessor.SetOwnerControl(Control)

有关此成员的说明,请参见 SetOwnerControl(Control)

(继承自 Control)
IControlDesignerAccessor.UserData

有关此成员的说明,请参见 UserData

(继承自 Control)
IDataBindingsAccessor.DataBindings

有关此成员的说明,请参见 DataBindings

(继承自 Control)
IDataBindingsAccessor.HasDataBindings

有关此成员的说明,请参见 HasDataBindings

(继承自 Control)
IExpressionsAccessor.Expressions

有关此成员的说明,请参见 Expressions

(继承自 Control)
IExpressionsAccessor.HasExpressions

有关此成员的说明,请参见 HasExpressions

(继承自 Control)
IParserAccessor.AddParsedSubObject(Object)

有关此成员的说明,请参见 AddParsedSubObject(Object)

(继承自 Control)
IPostBackDataHandler.LoadPostData(String, NameValueCollection)

通过调用 LoadPostData(String, NameValueCollection) 类的 LoadPostData(String, NameValueCollection) 方法,可以实现 CatalogZoneBase 方法。

IPostBackDataHandler.RaisePostDataChangedEvent()

有关此成员的说明,请参见 RaisePostDataChangedEvent()

IPostBackEventHandler.RaisePostBackEvent(String)

实现 RaisePostBackEvent(String) 方法。

(继承自 ToolZone)

扩展方法

FindDataSourceControl(Control)

返回与指定控件的数据控件关联的数据源。

FindFieldTemplate(Control, String)

返回指定控件的命名容器中指定列的字段模板。

FindMetaTable(Control)

返回包含数据控件的元表对象。

GetDefaultValues(INamingContainer)

为指定数据控件获取默认值的集合。

GetMetaTable(INamingContainer)

为指定数据控件获取表元数据。

SetMetaTable(INamingContainer, MetaTable)

为指定数据控件设置表元数据。

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

为指定数据控件设置表元数据和默认值映射。

SetMetaTable(INamingContainer, MetaTable, Object)

为指定数据控件设置表元数据和默认值映射。

TryGetMetaTable(INamingContainer, MetaTable)

确定表元数据是否可用。

EnableDynamicData(INamingContainer, Type)

为指定数据控件启用动态数据行为。

EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

为指定数据控件启用动态数据行为。

EnableDynamicData(INamingContainer, Type, Object)

为指定数据控件启用动态数据行为。

适用于

另请参阅