PageCatalogPart Classe

Definição

Fornece um catálogo que mantém referências a todos os controles WebPart (e outros controles de servidor contidos nas zonas WebPartZoneBase) que um usuário tenha fechado em uma única página de Web Parts, o que permite aos usuários adicionar os controles fechados de volta à página. Essa classe não pode ser herdada.

public ref class PageCatalogPart sealed : System::Web::UI::WebControls::WebParts::CatalogPart
public sealed class PageCatalogPart : System.Web.UI.WebControls.WebParts.CatalogPart
type PageCatalogPart = class
    inherit CatalogPart
Public NotInheritable Class PageCatalogPart
Inherits CatalogPart
Herança

Exemplos

O exemplo de código a seguir demonstra como usar o PageCatalogPart controle declarativamente em uma página da Web. Este exemplo tem quatro partes:

  • Um controle de usuário que permite alterar os modos de exibição em uma página de Web Parts.

  • Uma página da Web que contém um CatalogZone controle, um PageCatalogPart controle e um DeclarativeCatalogPart controle.

  • Um arquivo de código-fonte que contém dois controles personalizados WebPart .

  • Uma explicação de como o exemplo funciona quando você carrega a página em um navegador.

A primeira parte desse exemplo de código é o controle de usuário que permite que os usuários alterem os modos de exibição em uma página da Web. Para obter detalhes sobre modos de exibição e uma descrição do código-fonte nesse controle, consulte Passo a passo: alterando modos de exibição em uma página de Web Parts.

<%@ 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=" 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=" 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>

A segunda parte do exemplo de código é a página da Web. Na parte superior da página estão duas register diretivas, uma para o controle de usuário e outra para o componente compilado que contém os dois controles personalizados WebPart . Observe que a página tem uma referência declarativa ao PageCatalogPart controle, aninhada dentro da hierarquia adequada de elementos declarativos, conforme descrito na seção Comentários deste tópico. Há também um <asp:declarativecatalogpart> elemento , que contém referências para um controle de ASP.NET Calendar padrão e os dois controles personalizados WebPart , todos os quais são os controles que os usuários podem selecionar no catálogo.

<%@ page language="c#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="UserInfoWebPartCS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      PageCatalogPart Control
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server"  />
      <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server" >
        <PartTitleStyle BorderWidth="1" 
          Font-Names="Verdana, Arial"
          Font-Size="110%"
          BackColor="LightBlue" />
        <zonetemplate>
          <asp:BulletedList ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink"
            Title="Favorites">
            <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">
        <ZoneTemplate>
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" 
            Title="My Page Catalog" 
            ChromeType="Titleonly" />
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"  
            runat="server" 
            Description="Contains a user control with Web Parts and 
              an ASP.NET Calendar control.">
            <WebPartsTemplate>
              <asp:Calendar ID="Calendar1" runat="server" 
                Title="My Calendar" 
                Description="ASP.NET Calendar control used as a personal calendar." />
              <aspSample:UserInfoWebPart 
                runat="server"   
                id="userinfo1" 
                title = "User Information WebPart"
                Description ="Contains custom, editable user information 
                  for display on a page." />
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="TextDisplayWebPart1" 
                title = "Text Display WebPart" 
                Description="Contains a label that users can dynamically update." />
            </WebPartsTemplate>              
          </asp:DeclarativeCatalogPart>
        </ZoneTemplate>
      </asp:CatalogZone>
    </form>
  </body>
</html>
<%@ page language="VB" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="UserInfoWebPartVB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      PageCatalogPart Control
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server"  />
      <uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server" >
        <PartTitleStyle BorderWidth="1" 
          Font-Names="Verdana, Arial"
          Font-Size="110%"
          BackColor="LightBlue" />
        <zonetemplate>
          <asp:BulletedList ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink"
            Title="Favorites">
            <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">
        <ZoneTemplate>
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" 
            Title="My Page Catalog" 
            ChromeType="TitleOnly" />
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"  
            runat="server" 
            Description="Contains a user control with Web Parts and 
              an ASP.NET Calendar control.">
            <WebPartsTemplate>
              <asp:Calendar ID="Calendar1" runat="server" 
                Title="My Calendar" 
                Description="ASP.NET Calendar control used as a personal calendar." />
              <aspSample:UserInfoWebPart 
                runat="server"   
                id="userinfo1" 
                title = "User Information WebPart"
                Description ="Contains custom, editable user information 
                  for display on a page." />
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="TextDisplayWebPart1" 
                title = "Text Display WebPart" 
                Description="Contains a label that users can dynamically update." />
            </WebPartsTemplate>              
          </asp:DeclarativeCatalogPart>
        </ZoneTemplate>
      </asp:CatalogZone>
    </form>
  </body>
</html>

A terceira parte do exemplo de código é o código-fonte dos dois WebPart controles. Para que o exemplo de código seja executado, você deve compilar esse código-fonte. Você pode compilá-lo explicitamente e colocar o assembly resultante na pasta Bin do site ou no cache de assembly global. Como alternativa, você pode colocar o código-fonte na pasta App_Code do site, na qual ele será compilado dinamicamente em tempo de execução. Para obter um passo a passo que demonstra os dois métodos de compilação, consulte Passo a passo : desenvolvendo e usando um controle de servidor Web personalizado.

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 UserInfoWebPart : WebPart
  {
    HttpServerUtility server = HttpContext.Current.Server;
    private String _userNickName = "Add a nickname.";
    private String _userPetName = "Add a pet's name.";
    private DateTime _userSpecialDate = DateTime.Now;
    private Boolean _userIsCurrent = true;
    private JobTypeName _userJobType = JobTypeName.Unselected;
    public enum JobTypeName
    {
      Unselected = 0,
      Support = 1,
      Service = 2,
      Professional = 3, 
      Technical = 4,
      Manager = 5,
      Executive = 6
    }
    Label NickNameLabel;
    Label PetNameLabel;
    Label SpecialDateLabel;
    CheckBox IsCurrentCheckBox;
    Label JobTypeLabel;

    // Add the Personalizable and WebBrowsable attributes to the  
    // public properties, so that users can save property values  
    // and edit them with a PropertyGridEditorPart control.
    [Personalizable(), WebBrowsable, WebDisplayName("Nickname")]
    public String NickName
    {
      get 
      { 
        object o = ViewState["NickName"];
        if (o != null)
          return (string)o;
        else
          return _userNickName;        
      } 

      set { _userNickName = server.HtmlEncode(value); }
    }

    [Personalizable(), WebBrowsable, WebDisplayName("Pet Name")]
    public String PetName
    {
      get 
      { 
        object o = ViewState["PetName"];
        if (o != null)
          return (string)o;
        else
          return _userPetName;        
      }

      set { _userPetName = server.HtmlEncode(value); }
    }

    [Personalizable(), WebBrowsable(), WebDisplayName("Special Day")]
    public DateTime SpecialDay
    {
      get
      {
        object o = ViewState["SpecialDay"];
        if (o != null)
          return (DateTime)o;
        else
          return _userSpecialDate;
      }

      set { _userSpecialDate = value; }
    }

    [Personalizable(), WebBrowsable(), WebDisplayName("Job Type")]
    public JobTypeName UserJobType
    {
      get
      {
        object o = ViewState["UserJobType"];
        if (o != null)
          return (JobTypeName)o;
        else
          return _userJobType;
      }

      set { _userJobType = (JobTypeName)value; }
    }

    [Personalizable(), WebBrowsable(), WebDisplayName("Is Current")]
    public Boolean IsCurrent
    {
      get
      {
        object o = ViewState["IsCurrent"];
        if (o != null)
          return (Boolean)o;
        else
          return _userIsCurrent;
      }

      set { _userIsCurrent = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();

      NickNameLabel = new Label();
      NickNameLabel.Text = this.NickName;
      SetControlAttributes(NickNameLabel);

      PetNameLabel = new Label();
      PetNameLabel.Text = this.PetName;
      SetControlAttributes(PetNameLabel);

      SpecialDateLabel = new Label();
      SpecialDateLabel.Text = this.SpecialDay.ToShortDateString();
      SetControlAttributes(SpecialDateLabel);

      IsCurrentCheckBox = new CheckBox();
      IsCurrentCheckBox.Checked = this.IsCurrent;
      SetControlAttributes(IsCurrentCheckBox);

      JobTypeLabel = new Label();
      JobTypeLabel.Text = this.UserJobType.ToString();
      SetControlAttributes(JobTypeLabel);

      ChildControlsCreated = true;
    }

    private void SetControlAttributes(WebControl ctl)
    {
      ctl.BackColor = Color.White;
      ctl.BorderWidth = 1;
      ctl.Width = 200;
      this.Controls.Add(ctl);
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
      writer.Write("Nickname:");
      writer.WriteBreak();
      NickNameLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Pet Name:");
      writer.WriteBreak();
      PetNameLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Special Date:");
      writer.WriteBreak();
      SpecialDateLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Job Type:");
      writer.WriteBreak();
      JobTypeLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Current:");
      writer.WriteBreak();
      IsCurrentCheckBox.RenderControl(writer);
    }
  }

  [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 UserInfoWebPart
    Inherits WebPart
    Private server As HttpServerUtility = HttpContext.Current.Server
    Private _userNickName As String = "Add a nickname."
    Private _userPetName As String = "Add a pet's name."
    Private _userSpecialDate As DateTime = DateTime.Now
    Private _userIsCurrent As [Boolean] = True
    Private _userJobType As JobTypeName = JobTypeName.Unselected

    Public Enum JobTypeName
      Unselected = 0
      Support = 1
      Service = 2
      Professional = 3
      Technical = 4
      Manager = 5
      Executive = 6
    End Enum

    Private NickNameLabel As Label
    Private PetNameLabel As Label
    Private SpecialDateLabel As Label
    Private IsCurrentCheckBox As CheckBox
    Private JobTypeLabel As Label

    ' Add the Personalizable and WebBrowsable attributes to the  
    ' public properties, so that users can save property values  
    ' and edit them with a PropertyGridEditorPart control.

    <Personalizable(), WebBrowsable(), WebDisplayName("Nickname")> _
    Public Property NickName() As String
      Get
        Dim o As Object = ViewState("NickName")
        If Not (o Is Nothing) Then
          Return CStr(o)
        Else
          Return _userNickName
        End If
      End Get
      Set(ByVal value As String)
        _userNickName = server.HtmlEncode(value)
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Pet Name")> _
    Public Property PetName() As String
      Get
        Dim o As Object = ViewState("PetName")
        If Not (o Is Nothing) Then
          Return CStr(o)
        Else
          Return _userPetName
        End If
      End Get
      Set(ByVal value As String)
        _userPetName = server.HtmlEncode(value)
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Special Day")> _
    Public Property SpecialDay() As DateTime
      Get
        Dim o As Object = ViewState("SpecialDay")
        If Not (o Is Nothing) Then
          Return CType(o, DateTime)
        Else
          Return _userSpecialDate
        End If
      End Get

      Set(ByVal value As DateTime)
        _userSpecialDate = value
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Job Type")> _
    Public Property UserJobType() As JobTypeName
      Get
        Dim o As Object = ViewState("UserJobType")
        If Not (o Is Nothing) Then
          Return CType(o, JobTypeName)
        Else
          Return _userJobType
        End If
      End Get
      Set(ByVal value As JobTypeName)
        _userJobType = CType(value, JobTypeName)
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Is Current")> _
    Public Property IsCurrent() As [Boolean]
      Get
        Dim o As Object = ViewState("IsCurrent")
        If Not (o Is Nothing) Then
          Return CType(o, [Boolean])
        Else
          Return _userIsCurrent
        End If
      End Get
      Set(ByVal value As [Boolean])
        _userIsCurrent = value
      End Set
    End Property

    Protected Overrides Sub CreateChildControls()
      Controls.Clear()

      NickNameLabel = New Label()
      NickNameLabel.Text = Me.NickName
      SetControlAttributes(NickNameLabel)

      PetNameLabel = New Label()
      PetNameLabel.Text = Me.PetName
      SetControlAttributes(PetNameLabel)

      SpecialDateLabel = New Label()
      SpecialDateLabel.Text = Me.SpecialDay.ToShortDateString()
      SetControlAttributes(SpecialDateLabel)

      IsCurrentCheckBox = New CheckBox()
      IsCurrentCheckBox.Checked = Me.IsCurrent
      SetControlAttributes(IsCurrentCheckBox)

      JobTypeLabel = New Label()
      JobTypeLabel.Text = Me.UserJobType.ToString()
      SetControlAttributes(JobTypeLabel)

      ChildControlsCreated = True

    End Sub

    Private Sub SetControlAttributes(ByVal ctl As WebControl)
      ctl.BackColor = Color.White
      ctl.BorderWidth = 1
      ctl.Width = 200
      Me.Controls.Add(ctl)
    End Sub

    Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
      writer.Write("Nickname:")
      writer.WriteBreak()
      NickNameLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Pet Name:")
      writer.WriteBreak()
      PetNameLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Special Date:")
      writer.WriteBreak()
      SpecialDateLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Job Type:")
      writer.WriteBreak()
      JobTypeLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Current:")
      writer.WriteBreak()
      IsCurrentCheckBox.RenderControl(writer)

    End Sub

  End Class


  <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

Ao carregar a página em um navegador, selecione Modo de Catálogo no controle de lista suspensa Modo de Exibição para alternar para o modo de catálogo. No modo de catálogo, você pode ver os controles que estão disponíveis para serem adicionados à página. Adicione um dos controles e use o controle de lista suspensa Modo de Exibição para retornar a página para o modo de navegação. Clique no menu de verbos (a seta para baixo) na barra de título de um dos controles e clique em Fechar para fechar o controle. Retorne a página para o modo de catálogo e observe que o controle que você fechou agora aparece no catálogo de páginas e está disponível para ser adicionado de volta à página.

Comentários

A PageCatalogPart classe tem uma finalidade muito específica em uma página de Web Parts: ela atua como um catálogo de páginas para manter todos os controles adicionados anteriormente à página que um usuário fechou, para que o usuário possa adicioná-los de volta à página. Esse controle só fica visível quando uma página da Web está no modo de exibição de catálogo, uma exibição especial que permite aos usuários adicionar e remover controles na página. Adicione um PageCatalogPart controle à sua página se você quiser fornecer aos usuários a flexibilidade de fechar e reabrir controles. Se sua página não permitir que os usuários fechem controles, não será necessário adicionar um PageCatalogPart controle à sua página.

Somente controles fechados são adicionados ao catálogo de páginas. Um controle fechado tem vários atributos:

  • Não está visível na página.

  • Ele não é renderizado na página.

  • Ele não participa de fases do ciclo de vida da página.

Fechar um controle é diferente de excluí-lo, o que o remove permanentemente da página. Um usuário pode reabrir uma instância de controle fechado de um catálogo de páginas, mas depois que um usuário exclui um controle, ele nunca pode recuperar essa instância específica.

A maneira mais comum e conveniente de adicionar um PageCatalogPart controle a uma página é declarando-o no formato de persistência de página. Assim como acontece com qualquer controle declarativo CatalogPart , um PageCatalogPart controle deve ser declarado dentro do contexto adequado de ASP.NET elementos de marcação em uma página da Web. Para obter um exemplo de código de trabalho de como declarar um PageCatalogPart controle em uma página da Web, consulte a seção Exemplo deste tópico. Você deve adicionar a seguinte sequência de elementos declarativos à página:

  1. Um <asp:catalogzone> elemento deve ser declarado e um elemento filho <zonetemplate> deve ser adicionado a ele para conter quaisquer CatalogPart controles declarados na zona.

  2. Um <asp:pagecatalogpart> elemento deve ser adicionado como um filho do <zonetemplate> elemento . Também pode haver outros CatalogPart controles declarados como elementos filho do <zonetemplate> elemento, incluindo DeclarativeCatalogPart controles ou ImportCatalogPart .

A PageCatalogPart classe tem apenas uma propriedade utilizável, a Title propriedade , que substitui a propriedade base para que um título padrão possa ser fornecido para o catálogo de páginas se nenhum valor for fornecido.

As propriedades restantes para a PageCatalogPart classe substituem as propriedades herdadas, mas não são realmente usadas para renderizar o controle. Eles são substituídos apenas para que atributos de código especiais possam ser definidos neles para ocultá-los de ferramentas de design como o Microsoft Visual Studio 2005. Você não deve usar essas propriedades ocultas, pois elas não têm efeito na renderização. O fato de eles estarem ocultos do IntelliSense e do painel Propriedades no Visual Studio ajuda os desenvolvedores a evitar usá-los por engano. Todas essas propriedades ocultas são indicadas como tal em seus respectivos tópicos de Ajuda.

A PageCatalogPart classe também tem vários métodos importantes. O GetAvailableWebPartDescriptions método recupera um WebPartDescription objeto para cada WebPart controle no catálogo de páginas, o que permite que um PageCatalogPart controle exiba informações sobre cada controle de servidor sem precisar criar uma instância desse controle. Outro método é o GetWebPart método . Esse método obtém uma instância de um controle específico WebPart , com base na descrição passada para o método .

Acessibilidade

A marcação renderizada por padrão para esse controle pode não estar em conformidade com os padrões de acessibilidade, como as diretrizes de prioridade 1.0 (WCAG) das Diretrizes de Acessibilidade de Conteúdo da Web 1.0 (WCAG). Para obter detalhes sobre o suporte de acessibilidade para esse controle, consulte Controles de ASP.NET e Acessibilidade.

Construtores

PageCatalogPart()

Inicializa uma nova instância da classe.

Propriedades

AccessKey

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

Adapter

Obtém o adaptador específico de navegador para o controle.

(Herdado de Control)
AppRelativeTemplateSourceDirectory

Obtém ou define o diretório virtual relativo de aplicativo do objeto Page ou UserControl que contém este controle.

(Herdado de Control)
Attributes

Obtém a coleção de atributos arbitrários (somente para renderização) que não correspondem às propriedades do controle.

(Herdado de WebControl)
BackColor

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BackImageUrl

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BindingContainer

Obtém o controle que contém a vinculação de dados desse controle.

(Herdado de Control)
BorderColor

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BorderStyle

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BorderWidth

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

ChildControlsCreated

Obtém um valor que indica se os controles filho do controle de servidor foram criados.

(Herdado de Control)
ChromeState

Obtém ou define se um controle Part está em um estado minimizado ou normal.

(Herdado de Part)
ChromeType

Obtém ou define o tipo de borda que emoldura um controle de Web Parts.

(Herdado de Part)
ClientID

Obtém a ID de controle de marcação HTML gerada pelo ASP.NET.

(Herdado de Control)
ClientIDMode

Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID.

(Herdado de Control)
ClientIDSeparator

Obtém um valor de caractere que representa o caractere separador usado na propriedade ClientID.

(Herdado de Control)
Context

Obtém o objeto HttpContext associado ao controle de servidor para a solicitação da Web atual.

(Herdado de Control)
Controls

Obtém um objeto ControlCollection que contém os controles filho para um controle de servidor especificado na hierarquia de interface do usuário.

(Herdado de Part)
ControlStyle

Obtém o estilo de um controle de servidor Web. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
ControlStyleCreated

Obtém um valor que indica se um objeto Style foi criado para a propriedade ControlStyle. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CssClass

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

DataItemContainer

Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataItemContainer.

(Herdado de Control)
DataKeysContainer

Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataKeysControl.

(Herdado de Control)
DefaultButton

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

Description

Obtém ou define uma frase curta que resume o que o controle Part faz, para ser usada em dicas de ferramenta e catálogos de controles Part.

(Herdado de Part)
DesignMode

Obtém um valor que indica se um controle está sendo usado em uma superfície de design.

(Herdado de Control)
Direction

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

DisplayTitle

Obtém uma cadeia de caracteres que contém o título atual real de um controle de CatalogPart.

(Herdado de CatalogPart)
Enabled

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

EnableTheming

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

EnableViewState

Obtém ou define um valor que indica se o controle de servidor persiste seu estado de exibição e o estado de exibição de quaisquer controles filho que ele contém, para o cliente solicitante.

(Herdado de Control)
Events

Obtém uma lista de delegados de manipulador de eventos para o controle. Esta propriedade é somente para leitura.

(Herdado de Control)
Font

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

ForeColor

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

GroupingText

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

HasAttributes

Obtém um valor que indica se o controle tem atributos definidos.

(Herdado de WebControl)
HasChildViewState

Obtém um valor que indica se os controles filho do controle de servidor atual têm alguma configuração de estado de exibição salva.

(Herdado de Control)
Height

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

HorizontalAlign

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

ID

Obtém ou define o identificador programático atribuído ao controle de servidor.

(Herdado de Control)
IdSeparator

Obtém o caractere usado para separar identificadores de controle.

(Herdado de Control)
IsChildControlStateCleared

Obtém um valor que indica se os controles contidos dentro deste controle têm estado de controle.

(Herdado de Control)
IsEnabled

Obtém um valor que indica se o controle está habilitado.

(Herdado de WebControl)
IsTrackingViewState

Obtém um valor que indica se o controle de servidor está salvando alterações no estado de exibição.

(Herdado de Control)
IsViewStateEnabled

Obtém um valor que indica se o estado de exibição está habilitado para esse controle.

(Herdado de Control)
LoadViewStateByID

Obtém um valor que indica se o controle participa do carregamento do estado de exibição por ID em vez do índice.

(Herdado de Control)
NamingContainer

Obtém uma referência ao contêiner de nomenclatura do controle do servidor, que cria um namespace exclusivo para diferenciar entre os controles de servidor com o mesmo valor da propriedade ID.

(Herdado de Control)
Page

Obtém uma referência para a instância Page que contém o controle de servidor.

(Herdado de Control)
Parent

Obtém uma referência ao controle pai do controle de servidor na hierarquia de controle da página.

(Herdado de Control)
RenderingCompatibility

Obtém um valor que especifica a versão do ASP.NET com a qual o HTML renderizado será compatível.

(Herdado de Control)
ScrollBars

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

Site

Obtém informações sobre o contêiner que hospeda o controle atual quando renderizados em uma superfície de design.

(Herdado de Control)
SkinID

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

Style

Obtém uma coleção de atributos de texto que serão renderizados como um atributo de estilo na marca externa do controle de servidor Web.

(Herdado de WebControl)
SupportsDisabledAttribute

Obtém um valor que indica se o controle deve definir o atributo disabled do elemento HTML renderizado para "desabilitado" quando a propriedade do controle IsEnabled é false.

(Herdado de Panel)
TabIndex

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

TagKey

Obtém o valor HtmlTextWriterTag que corresponde ao controle do servidor Web. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
TagName

Obtém o nome da marca de controle. Essa propriedade é usada principalmente por desenvolvedores de controle.

(Herdado de WebControl)
TemplateControl

Obtém ou define uma referência ao modelo que contém este controle.

(Herdado de Control)
TemplateSourceDirectory

Obtém o diretório virtual do Page ou UserControl que contém o controle do servidor atual.

(Herdado de Control)
Title

Obtém ou define o título que aparece na barra de título de um controle.

ToolTip

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

UniqueID

Obtém o identificador exclusivo, qualificado segundo a hierarquia, para o controle de servidor.

(Herdado de Control)
ValidateRequestMode

Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador para valores potencialmente perigosos.

(Herdado de Control)
ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um controle de servidor em várias solicitações para a mesma página.

(Herdado de Control)
ViewStateIgnoresCase

Obtém um valor que indica se o objeto StateBag não diferencia maiúsculas de minúsculas.

(Herdado de Control)
ViewStateMode

Obtém ou define o modo de estado de exibição deste controle.

(Herdado de Control)
Visible

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

WebPartManager

Obtém uma referência à instância atual da classe WebPartManager.

(Herdado de CatalogPart)
Width

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

Wrap

Esta propriedade herdada não é usada pelo conjunto de controles de Web Parts definido ao renderizar um controle PageCatalogPart. A propriedade é substituída apenas com a finalidade de impedi-la de aparecer nas ferramentas de designer do Microsoft Visual Studio 2005.

Zone

Obtém uma referência à zona de CatalogZoneBase que contém um controle de CatalogPart.

(Herdado de CatalogPart)

Métodos

AddAttributesToRender(HtmlTextWriter)

Adiciona informações sobre a imagem de tela de fundo, o alinhamento, o encapsulamento e a direção para a lista de atributos a renderizar.

(Herdado de Panel)
AddedControl(Control, Int32)

Chamado após um controle filho ser adicionado à coleção Controls do objeto Control.

(Herdado de Control)
AddParsedSubObject(Object)

Notifica o controle de servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento ao objeto ControlCollection do controle de servidor.

(Herdado de Control)
ApplyStyle(Style)

Copia os elementos não vazios do estilo especificado para o controle da Web, substituindo os elementos de estilo existentes no controle. Esse método é usado principalmente por desenvolvedores de controles.

(Herdado de WebControl)
ApplyStyleSheetSkin(Page)

Aplica as propriedades de estilo definidas na folha de estilos da página ao controle.

(Herdado de Control)
BeginRenderTracing(TextWriter, Object)

Inicia o rastreamento de tempo de design de dados de renderização.

(Herdado de Control)
BuildProfileTree(String, Boolean)

Reúne informações sobre o controle de servidor e as envia para a propriedade Trace para serem exibidas quando o rastreamento está habilitado para a página.

(Herdado de Control)
ClearCachedClientID()

Define o valor ClientID armazenado em cache como null.

(Herdado de Control)
ClearChildControlState()

Exclui as informações de estado de controle para os controles filho do controle de servidor.

(Herdado de Control)
ClearChildState()

Exclui as informações de estado de exibição e de estado de controle para todos os controles filho do controle de servidor.

(Herdado de Control)
ClearChildViewState()

Exclui as informações de estado de exibição para todos os controles filho do controle de servidor.

(Herdado de Control)
ClearEffectiveClientIDMode()

Define a propriedade ClientIDMode da instância de controle atual e de quaisquer controles filho para Inherit.

(Herdado de Control)
CopyBaseAttributes(WebControl)

Copia as propriedades que não são encapsuladas pelo objeto Style de controle do servidor Web especificado ao controle de servidor Web do qual este método é chamado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
CreateChildControls()

Chamado pela estrutura de página do ASP.NET para notificar os controles do servidor que usam a implementação baseada em composição para criar os controles filho para preparar-se para um postback ou renderização.

(Herdado de Control)
CreateControlCollection()

Cria um novo objeto ControlCollection para manter os controles filho (literal e servidor) do controle do servidor.

(Herdado de Control)
CreateControlStyle()

Cria um objeto de estilo que é usado internamente pelo controle Panel para implementar todas as propriedades relacionadas ao estilo.

(Herdado de Panel)
DataBind()

Associa uma fonte de dados ao controle de servidor chamado e a todos os seus controles filho.

(Herdado de Part)
DataBind(Boolean)

Associa uma fonte de dados ao controle de servidor invocado e todos os seus controles filho com uma opção para gerar o evento DataBinding.

(Herdado de Control)
DataBindChildren()

Associa uma fonte de dados aos controles filho do controle do servidor.

(Herdado de Control)
Dispose()

Permite que um controle de servidor execute a limpeza final antes do lançamento da memória.

(Herdado de Control)
EndRenderTracing(TextWriter, Object)

Encerra o rastreamento de tempo de design de dados de renderização.

(Herdado de Control)
EnsureChildControls()

Determinará se o controle de servidor contiver controles filho. Se ele não contiver, ele criará controles filho.

(Herdado de Control)
EnsureID()

Cria um identificador para controles que não têm um identificador atribuído.

(Herdado de Control)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindControl(String)

Procura o atual contêiner de nomenclatura de um controle de servidor com o parâmetro id especificado.

(Herdado de Control)
FindControl(String, Int32)

Procura o contêiner de nomenclatura atual para um controle de servidor com o id especificado e um inteiro especificado no parâmetro pathOffset, que auxilia na pesquisa. Você não deve substituir esta versão do método FindControl.

(Herdado de Control)
Focus()

Define o foco de entrada para um controle.

(Herdado de Control)
GetAvailableWebPartDescriptions()

Retorna uma coleção de descrições dos controles WebPart disponíveis em um catálogo.

GetDesignModeState()

Recupera o estado atual da zona pai de um controle de CatalogPart.

(Herdado de CatalogPart)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetRouteUrl(Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(String, Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.

(Herdado de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.

(Herdado de Control)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUniqueIDRelativeTo(Control)

Retorna a parte prefixada da propriedade UniqueID do controle especificado.

(Herdado de Control)
GetWebPart(WebPartDescription)

Retorna uma referência a um controle WebPart com base no valor da descrição passado para o método.

HasControls()

Determina se o controle de servidor contém algum controle filho.

(Herdado de Control)
HasEvents()

Retorna um valor que indica se os eventos são registrados para o controle ou qualquer controle filho.

(Herdado de Control)
IsLiteralContent()

Determina se o controle de servidor contém apenas o conteúdo literal.

(Herdado de Control)
LoadControlState(Object)

Restaura informações de estado de controle de uma solicitação de página anterior que foi salva pelo método SaveControlState().

(Herdado de Control)
LoadViewState(Object)

Restaura informações de estado de exibição de uma solicitação anterior que foi salva com o método SaveViewState().

(Herdado de WebControl)
MapPathSecure(String)

Recupera o caminho físico para o qual um caminho virtual é mapeado, relativo ou virtual.

(Herdado de Control)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MergeStyle(Style)

Copia os elementos não vazios do estilo especificado para o controle da Web, mas não substituirá os elementos de estilo existentes do controle. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
OnBubbleEvent(Object, EventArgs)

Determina se o evento do controle de servidor é passado um nível acima da hierarquia de controle de servidor da interface do usuário da página.

(Herdado de Control)
OnDataBinding(EventArgs)

Aciona o evento DataBinding.

(Herdado de Control)
OnInit(EventArgs)

Aciona o evento Init.

(Herdado de Control)
OnLoad(EventArgs)

Aciona o evento Load.

(Herdado de Control)
OnPreRender(EventArgs)

Aciona o evento PreRender.

(Herdado de CatalogPart)
OnUnload(EventArgs)

Aciona o evento Unload.

(Herdado de Control)
OpenFile(String)

Obtém um Stream usado para ler um arquivo.

(Herdado de Control)
RaiseBubbleEvent(Object, EventArgs)

Atribui quaisquer fontes de evento e suas informações para o pai do controle.

(Herdado de Control)
RemovedControl(Control)

Chamado após um controle filho ser removido da coleção Controls do objeto Control.

(Herdado de Control)
Render(HtmlTextWriter)

Renderiza o controle para o gravador de HTML especificado.

(Herdado de WebControl)
RenderBeginTag(HtmlTextWriter)

Renderiza a marca de abertura HTML do controle Panel para o gravador especificado.

(Herdado de Panel)
RenderChildren(HtmlTextWriter)

Gera o conteúdo dos filhos de um controle de servidor para um objeto HtmlTextWriter fornecido, que grava o conteúdo a ser renderizado no cliente.

(Herdado de Control)
RenderContents(HtmlTextWriter)

Renderiza o conteúdo do controle no gravador especificado. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
RenderControl(HtmlTextWriter)

Gera o conteúdo do controle de servidor para um objeto HtmlTextWriter fornecido e armazena informações de rastreamento sobre o controle caso o rastreamento esteja habilitado.

(Herdado de Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Gera o conteúdo do controle de servidor a um objeto HtmlTextWriter fornecido usando um objeto ControlAdapter fornecido.

(Herdado de Control)
RenderEndTag(HtmlTextWriter)

Renderiza a marca de fechamento HTML do controle Panel para o gravador especificado.

(Herdado de Panel)
ResolveAdapter()

Obtém o adaptador de controle responsável por renderizar o controle especificado.

(Herdado de Control)
ResolveClientUrl(String)

Obtém uma URL que pode ser usada pelo navegador.

(Herdado de Control)
ResolveUrl(String)

Converte uma URL em uma que possa ser usada no cliente solicitante.

(Herdado de Control)
SaveControlState()

Salva as alterações de estado do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor.

(Herdado de Control)
SaveViewState()

Salva qualquer estado que foi modificado depois que o método TrackViewState() foi invocado.

(Herdado de WebControl)
SetDesignModeState(IDictionary)

Define os dados de tempo de design para um controle.

(Herdado de CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Atribui um delegado do manipulador de eventos para renderizar o controle de servidor e seu conteúdo em seu controle pai.

(Herdado de Control)
SetTraceData(Object, Object)

Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando a chave e o valor de dados de rastreamento.

(Herdado de Control)
SetTraceData(Object, Object, Object)

Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando o objeto rastreado, a chave e o valor de dados de rastreamento.

(Herdado de Control)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Faz com que o controle acompanhe as alterações a seu estado de exibição para que eles possam ser armazenados na propriedade ViewState do objeto.

(Herdado de WebControl)

Eventos

DataBinding

Ocorre quando o controle de servidor é associado a uma fonte de dados.

(Herdado de Control)
Disposed

Ocorre quando um controle de servidor é liberado da memória, que é o último estágio do ciclo de vida de controle de servidor quando uma página ASP.NET é solicitada.

(Herdado de Control)
Init

Ocorre quando o controle de servidor é inicializado, que é a primeira etapa do ciclo de vida.

(Herdado de Control)
Load

Ocorre quando o controle de servidor é carregado no objeto Page.

(Herdado de Control)
PreRender

Ocorre depois que o objeto Control é carregado, mas antes da renderização.

(Herdado de Control)
Unload

Ocorre quando o controle de servidor é descarregado da memória.

(Herdado de Control)

Implantações explícitas de interface

IAttributeAccessor.GetAttribute(String)

Obtém um atributo do controle da Web com o nome especificado.

(Herdado de WebControl)
IAttributeAccessor.SetAttribute(String, String)

Define um atributo do controle da Web para o nome e o valor especificados.

(Herdado de WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Permite ao desenvolvedor de um designer para um controle Part de composição recriar os controles filho do controle na superfície de design.

(Herdado de Part)
IControlBuilderAccessor.ControlBuilder

Para obter uma descrição desse membro, confira ControlBuilder.

(Herdado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obter uma descrição desse membro, confira GetDesignModeState().

(Herdado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obter uma descrição desse membro, confira SetDesignModeState(IDictionary).

(Herdado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obter uma descrição desse membro, confira SetOwnerControl(Control).

(Herdado de Control)
IControlDesignerAccessor.UserData

Para obter uma descrição desse membro, confira UserData.

(Herdado de Control)
IDataBindingsAccessor.DataBindings

Para obter uma descrição desse membro, confira DataBindings.

(Herdado de Control)
IDataBindingsAccessor.HasDataBindings

Para obter uma descrição desse membro, confira HasDataBindings.

(Herdado de Control)
IExpressionsAccessor.Expressions

Para obter uma descrição desse membro, confira Expressions.

(Herdado de Control)
IExpressionsAccessor.HasExpressions

Para obter uma descrição desse membro, confira HasExpressions.

(Herdado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obter uma descrição desse membro, confira AddParsedSubObject(Object).

(Herdado de Control)

Métodos de Extensão

FindDataSourceControl(Control)

Retorna a fonte de dados associada ao controle de dados do controle especificado.

FindFieldTemplate(Control, String)

Retorna o modelo do campo para a coluna especificada no contêiner de nomenclatura do controle especificado.

FindMetaTable(Control)

Retorna o objeto metatable para o controle que contém dados.

GetDefaultValues(INamingContainer)

Obtém a coleção de valores padrão para o controle de dados especificado.

GetMetaTable(INamingContainer)

Obtém os metadados de tabela para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable)

Define os metadados de tabela para o controle de dados especificado.

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

Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado.

SetMetaTable(INamingContainer, MetaTable, Object)

Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado.

TryGetMetaTable(INamingContainer, MetaTable)

Determina se os metadados da tabela estão disponíveis.

EnableDynamicData(INamingContainer, Type)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

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

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

EnableDynamicData(INamingContainer, Type, Object)

Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado.

Aplica-se a

Confira também