Compartilhar via


DeclarativeCatalogPart Classe

Definição

Permite que os desenvolvedores adicionem um catálogo ou outros controles de WebPart servidor a uma página da Web no formato declarativo de persistência de página. Essa classe não pode ser herdada.

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

Exemplos

O exemplo de código a seguir demonstra como usar o DeclarativeCatalogPart controle declarativamente em uma página da Web. O 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 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 deste exemplo de código é o controle de usuário que permite alterar os modos de exibição na página. Para obter detalhes sobre os modos de exibição e uma descrição do código-fonte nesse controle, consulte Passo a passo: alterando os 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 DeclarativeCatalogPart controle, aninhada dentro da hierarquia adequada de elementos declarativos, conforme descrito na seção Comentários deste tópico. O <asp:declarativecatalogpart> elemento contém um <webpartstemplate> elemento, que por sua vez contém referências para um controle de ASP.NET Calendar padrão e os dois controles personalizados WebPart ; esses são os controles que os usuários podem selecionar no catálogo. A página também contém o recurso de edição, com um PropertyGridEditorPart controle declarado na página. Esse controle permite que os usuários editem determinadas propriedades nos controles personalizados WebPart depois de serem adicionadas à página e depois que o usuário tiver alternado a página para o modo de edição.

<%@ 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>
      DeclarativeCatalogPart 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:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"  
            runat="server" 
            Title="Web Parts Catalog"
            ChromeType="TitleOnly" 
            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>
      <asp:EditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
      </ZoneTemplate>
      </asp:EditorZone> 
    </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 runat="server">
    <title>
      DeclarativeCatalogPart 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:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"  
            runat="server" 
            Title="Web Parts Catalog"
            ChromeType="TitleOnly" 
            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>
      <asp:EditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
      </ZoneTemplate>
      </asp:EditorZone> 
    </form>
  </body>
</html>

A terceira parte do exemplo de código é o código-fonte dos dois WebPart controles. Observe que algumas propriedades nesses controles são marcadas com o WebBrowsable atributo. Isso permite que o PropertyGridEditorPart controle gere dinamicamente a interface do usuário (interface do usuário) para um usuário editar essas propriedades quando os controles estiverem no modo de edição. As propriedades também são marcadas com um WebDisplayName atributo, para especificar o texto do rótulo que aparece ao lado de cada controle na interface do usuário de edição.

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 todos os três controles e use a lista suspensa Modo de Exibição para retornar a página para o modo de navegação. Os três controles aparecem na página. Se você usar a lista suspensa Modo de Exibição e alternar a página para o modo de edição, poderá clicar no menu de verbos (a seta para baixo) na barra de título do controle WebPart de Informações do Usuário e clicar em Editar para editar o controle. Quando a interface do usuário de edição estiver visível, você poderá ver o PropertyGridEditorPart controle. Observe que um controle é renderizado para cada uma das propriedades da UserInfoWebPart classe que foi marcada com o WebBrowsable atributo. Se você fizer algumas alterações na interface do usuário de edição e clicar no botão Aplicar , poderá usar a lista suspensa Modo de Exibição para retornar a página para navegar no modo e ver o efeito completo das alterações de edição.

Comentários

Assim como há zonas orientadas a ferramentas no conjunto de controle de Web Parts (para obter detalhes, consulte a visão geral da ToolZone classe), há controles orientados Part a ferramentas e cada um desses controles deve residir em um determinado tipo de zona de ferramenta. Os controles de parte orientadas a ferramentas no conjunto de controle de Web Parts têm duas características diferenciais:

  • Eles são controles auxiliares que permitem aos usuários finais personalizar controles em uma página de Web Parts.

  • Eles são visíveis apenas em determinados modos de exibição.

DeclarativeCatalogPart é um controle de parte que deve residir em um CatalogZoneBase tipo de zona, como a CatalogZone zona fornecida com o conjunto de controle de Web Parts. O DeclarativeCatalogPart controle fica visível somente quando uma página da Web está no modo de exibição do catálogo.

O DeclarativeCatalogPart controle fornece uma maneira para os desenvolvedores adicionarem um conjunto de controles de servidor declarativamente a um catálogo em uma página da Web. Um catálogo, no conjunto de controle de Web Parts, é simplesmente uma lista ou outros controles de WebPart servidor visíveis quando uma página está no modo de exibição do catálogo. Um usuário pode selecionar controles na lista e adicioná-los à página da Web, o que efetivamente oferece aos usuários a capacidade de alterar o conjunto de controles e a funcionalidade em uma página.

Observação

Os usuários podem adicionar várias instâncias do mesmo controle em um catálogo a uma página da Web.

Uma vantagem de usar um DeclarativeCatalogPart controle para criar um catálogo de controles de servidor é que ele não requer codificação. Os desenvolvedores de página podem trabalhar com o controle inteiramente no formato declarativo (ou persistência de página), daí o nome do controle.

O DeclarativeCatalogPart controle tem uma propriedade útil que permite aos desenvolvedores configurar um catálogo de controles que podem ser usados em todo um site. Em vez de declarar controles de servidor individuais dentro de um DeclarativeCatalogPart controle, um desenvolvedor pode definir o valor da WebPartsListUserControlPath propriedade como o caminho de um controle de usuário que contém a lista de controles de servidor que devem estar no catálogo. Em tempo de execução, os controles de servidor referenciados no controle de usuário são carregados no catálogo. Dessa forma, várias páginas ou sites podem fazer referência ao mesmo controle de usuário para criar um catálogo. Quando a lista de controles de servidor do controle de usuário é atualizada, ele atualiza todos os catálogos com base no controle de usuário.

A DeclarativeCatalogPart classe tem várias propriedades públicas que substituem as propriedades herdadas. A maioria dessas propriedades 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 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 DeclarativeCatalogPart classe também tem vários métodos. O GetAvailableWebPartDescriptions método recupera um WebPartDescription objeto para cada WebPart controle no catálogo, o que permite que um DeclarativeCatalogPart controle exiba informações sobre cada controle de servidor sem precisar criar uma instância dele. 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.

Observação

Para melhorar a acessibilidade, o DeclarativeCatalogPart controle é renderizado dentro de um <fieldset> elemento. O <fieldset> elemento agrupa o conjunto de controles relacionados usado para edição no controle e facilita a DeclarativeCatalogPart navegação com guias entre esses controles para agentes de usuário visuais (como navegadores da Web comuns) e agentes de usuário orientados à fala (como software de leitura de tela).

Construtores

Nome Description
DeclarativeCatalogPart()

Inicializa uma nova instância da classe .

Propriedades

Nome Description
AccessKey

Essa propriedade herdada não é usada pelo conjunto de controle de Web Parts ao renderizar um DeclarativeCatalogPart controle. 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 do navegador para o controle.

(Herdado de Control)
AppRelativeTemplateSourceDirectory

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

(Herdado de Control)
Attributes

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

(Herdado de WebControl)
BackColor

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BackImageUrl

Essa propriedade herdada não é usada pelo conjunto de controle de Web Parts ao renderizar um DeclarativeCatalogPart controle. 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 associação de dados desse controle.

(Herdado de Control)
BorderColor

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BorderStyle

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

BorderWidth

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. 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 do servidor foram criados.

(Herdado de Control)
ChromeState

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

(Herdado de Part)
ChromeType

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

(Herdado de Part)
ClientID

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

(Herdado de Control)
ClientIDMode

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

(Herdado de Control)
ClientIDSeparator

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

(Herdado de Control)
Context

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

(Herdado de Control)
Controls

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

(Herdado de Part)
ControlStyle

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

(Herdado de WebControl)
ControlStyleCreated

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

(Herdado de WebControl)
CssClass

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. 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 implementar IDataItemContainer.

(Herdado de Control)
DataKeysContainer

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

(Herdado de Control)
DefaultButton

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. 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 breve frase que resume o que o controle de parte faz, para uso em Dicas de Ferramentas e catálogos de controles de parte.

(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

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. 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 CatalogPart controle.

(Herdado de CatalogPart)
Enabled

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

EnableTheming

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. 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 do servidor persiste seu estado de exibição e o estado de exibição de todos os controles filho que ele contém, para o cliente solicitante.

(Herdado de Control)
Events

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

(Herdado de Control)
Font

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

ForeColor

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

GroupingText

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. 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 do servidor atual têm configurações de estado de exibição salvas.

(Herdado de Control)
Height

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

HorizontalAlign

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

ID

Obtém ou define o identificador programático atribuído ao controle do 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 nesse 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 do servidor está salvando alterações em seu 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 no carregamento de seu estado de exibição ID em vez de índice.

(Herdado de Control)
NamingContainer

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

(Herdado de Control)
Page

Obtém uma referência à Page instância que contém o controle do servidor.

(Herdado de Control)
Parent

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

(Herdado de Control)
RenderingCompatibility

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

(Herdado de Control)
ScrollBars

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

Site

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

(Herdado de Control)
SkinID

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça 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 do servidor Web.

(Herdado de WebControl)
SupportsDisabledAttribute

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

(Herdado de Panel)
TabIndex

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

TagKey

Obtém o HtmlTextWriterTag valor que corresponde a esse controle de 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 esse controle.

(Herdado de Control)
TemplateSourceDirectory

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

(Herdado de Control)
Title

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

ToolTip

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

UniqueID

Obtém o identificador exclusivo e hierarquicamente qualificado para o controle do servidor.

(Herdado de Control)
ValidateRequestMode

Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador em busca de 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 StateBag objeto não diferencia maiúsculas de minúsculas.

(Herdado de Control)
ViewStateMode

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

(Herdado de Control)
Visible

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

WebPartManager

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

(Herdado de CatalogPart)
WebPartsListUserControlPath

Obtém ou define o caminho para um controle de usuário que contém uma lista ou outros controles de WebPart servidor para o catálogo.

WebPartsTemplate

Obtém ou define uma referência a um modelo que contém os WebPart controles declarados em um catálogo.

Width

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

Wrap

Essa propriedade herdada não é usada pelo DeclarativeCatalogPart controle. A propriedade é substituída apenas com a finalidade de impedir que ela apareça nas ferramentas de designer do Microsoft Visual Studio 2005.

Zone

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

(Herdado de CatalogPart)

Métodos

Nome Description
AddAttributesToRender(HtmlTextWriter)

Adiciona informações sobre a imagem de plano de fundo, alinhamento, encapsulamento e direção à lista de atributos a serem renderizados.

(Herdado de Panel)
AddedControl(Control, Int32)

Chamado depois que um controle filho é adicionado à Controls coleção do Control objeto.

(Herdado de Control)
AddParsedSubObject(Object)

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

(Herdado de Control)
ApplyStyle(Style)

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

(Herdado de WebControl)
ApplyStyleSheetSkin(Page)

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

(Herdado de Control)
BeginRenderTracing(TextWriter, Object)

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

(Herdado de Control)
BuildProfileTree(String, Boolean)

Coleta informações sobre o controle do servidor e o Trace entrega na propriedade a ser exibida quando o rastreamento está habilitado para a página.

(Herdado de Control)
ClearCachedClientID()

Define o valor armazenado em ClientID cache como null.

(Herdado de Control)
ClearChildControlState()

Exclui as informações de estado de controle para os controles filho do controle do 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 do servidor.

(Herdado de Control)
ClearChildViewState()

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

(Herdado de Control)
ClearEffectiveClientIDMode()

Define a ClientIDMode propriedade da instância de controle atual e de qualquer controle filho como Inherit.

(Herdado de Control)
CopyBaseAttributes(WebControl)

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

(Herdado de WebControl)
CreateChildControls()

Chamado pela estrutura de página ASP.NET para notificar os controles de servidor que usam a implementação baseada em composição para criar quaisquer controles filho que eles contenham em preparação para postar de volta ou renderização.

(Herdado de Control)
CreateControlCollection()

Cria um novo ControlCollection objeto 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 Panel controle para implementar todas as propriedades relacionadas ao estilo.

(Herdado de Panel)
DataBind()

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

(Herdado de Part)
DataBind(Boolean)

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

(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 de ser liberado da memória.

(Herdado de Control)
EndRenderTracing(TextWriter, Object)

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

(Herdado de Control)
EnsureChildControls()

Determina se o controle do servidor contém controles filho. Se isso não acontecer, 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, Int32)

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

(Herdado de Control)
FindControl(String)

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

(Herdado de Control)
Focus()

Define o foco de entrada como um controle.

(Herdado de Control)
GetAvailableWebPartDescriptions()

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

GetDesignModeState()

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

(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 UniqueID propriedade do controle especificado.

(Herdado de Control)
GetWebPart(WebPartDescription)

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

HasControls()

Determina se o controle do servidor contém controles filho.

(Herdado de Control)
HasEvents()

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

(Herdado de Control)
IsLiteralContent()

Determina se o controle do servidor contém apenas 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 SaveControlState() método.

(Herdado de Control)
LoadViewState(Object)

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

(Herdado de WebControl)
MapPathSecure(String)

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

(Herdado de Control)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MergeStyle(Style)

Copia todos os elementos nãoblank do estilo especificado para o controle da Web, mas não substituirá nenhum elemento de estilo existente do controle. Esse método é usado principalmente por desenvolvedores de controle.

(Herdado de WebControl)
OnBubbleEvent(Object, EventArgs)

Determina se o evento para o controle do servidor é passado para a hierarquia de controle do servidor de 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 todas as fontes do evento e suas informações ao pai do controle.

(Herdado de Control)
RemovedControl(Control)

Chamado depois que um controle filho é removido da Controls coleção do Control objeto.

(Herdado de Control)
Render(HtmlTextWriter)

Renderiza o controle para o gravador HTML especificado.

(Herdado de WebControl)
RenderBeginTag(HtmlTextWriter)

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

(Herdado de Panel)
RenderChildren(HtmlTextWriter)

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

(Herdado de Control)
RenderContents(HtmlTextWriter)

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

(Herdado de WebControl)
RenderControl(HtmlTextWriter, ControlAdapter)

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

(Herdado de Control)
RenderControl(HtmlTextWriter)

O servidor de saída controla o conteúdo de um objeto fornecido HtmlTextWriter e armazena informações de rastreamento sobre o controle se o rastreamento estiver habilitado.

(Herdado de Control)
RenderEndTag(HtmlTextWriter)

Renderiza a marca de fechamento HTML do Panel controle no 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 é utilizável no cliente solicitante.

(Herdado de Control)
SaveControlState()

Salva as alterações de estado do controle do servidor que ocorreram desde o momento em que a página foi postada de volta no servidor.

(Herdado de Control)
SaveViewState()

Salva qualquer estado modificado após a invocação do TrackViewState() método.

(Herdado de WebControl)
SetDesignModeState(IDictionary)

Define dados de tempo de design para um controle.

(Herdado de CatalogPart)
SetRenderMethodDelegate(RenderMethod)

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

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

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

(Herdado de Control)
SetTraceData(Object, Object)

Define dados de rastreamento para rastreamento em tempo de design de dados de renderização, usando a chave de dados de rastreamento e o valor dos 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 rastreie as alterações no estado de exibição para que elas possam ser armazenadas na propriedade do ViewState objeto.

(Herdado de WebControl)

Eventos

Nome Description
DataBinding

Ocorre quando o controle do 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 do controle do servidor quando uma página ASP.NET é solicitada.

(Herdado de Control)
Init

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

(Herdado de Control)
Load

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

(Herdado de Control)
PreRender

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

(Herdado de Control)
Unload

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

(Herdado de Control)

Implantações explícitas de interface

Nome Description
IAttributeAccessor.GetAttribute(String)

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

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

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

(Herdado de WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Permite que o desenvolvedor de um designer para um controle de parte composta recrie os controles filho do controle na superfície de design.

(Herdado de Part)
IControlBuilderAccessor.ControlBuilder

Para obter uma descrição deste membro, consulte ControlBuilder.

(Herdado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obter uma descrição deste membro, consulte GetDesignModeState().

(Herdado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obter uma descrição deste membro, consulte SetDesignModeState(IDictionary).

(Herdado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obter uma descrição deste membro, consulte SetOwnerControl(Control).

(Herdado de Control)
IControlDesignerAccessor.UserData

Para obter uma descrição deste membro, consulte UserData.

(Herdado de Control)
IDataBindingsAccessor.DataBindings

Para obter uma descrição deste membro, consulte DataBindings.

(Herdado de Control)
IDataBindingsAccessor.HasDataBindings

Para obter uma descrição deste membro, consulte HasDataBindings.

(Herdado de Control)
IExpressionsAccessor.Expressions

Para obter uma descrição deste membro, consulte Expressions.

(Herdado de Control)
IExpressionsAccessor.HasExpressions

Para obter uma descrição deste membro, consulte HasExpressions.

(Herdado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obter uma descrição deste membro, consulte AddParsedSubObject(Object).

(Herdado de Control)

Métodos de Extensão

Nome Description
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.

EnableDynamicData(INamingContainer, Type)

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

FindDataSourceControl(Control)

Retorna a fonte de dados associada ao controle de dados para o controle especificado.

FindFieldTemplate(Control, String)

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

FindMetaTable(Control)

Retorna o objeto metatável para o controle de dados que contém.

GetDefaultValues(INamingContainer)

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

GetMetaTable(INamingContainer)

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

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

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

SetMetaTable(INamingContainer, MetaTable, Object)

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

SetMetaTable(INamingContainer, MetaTable)

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

TryGetMetaTable(INamingContainer, MetaTable)

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

Aplica-se a

Confira também