Compartir vía


DeclarativeCatalogPart Clase

Definición

Permite a los desarrolladores agregar un catálogo de WebPart u otros controles de servidor a una página web en el formato declarativo de persistencia de página. Esta clase no se puede heredar.

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
Herencia
DeclarativeCatalogPart

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el control DeclarativeCatalogPart mediante declaración en una página web. El ejemplo tiene cuatro partes:

  • Control de usuario que permite cambiar los modos de visualización en una página de elementos web.

  • Página web que contiene un control CatalogZone y un control DeclarativeCatalogPart.

  • Un archivo de código fuente que contiene dos controles de WebPart personalizados.

  • Explicación de cómo funciona el ejemplo al cargar la página en un explorador.

La primera parte de este ejemplo de código es el control de usuario que permite cambiar los modos de visualización en la página. Para obtener más información sobre los modos de visualización y una descripción del código fuente de este control, vea Tutorial: Cambio de modos de presentación en una página de elementos web.

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

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

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

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

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

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

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

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

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

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

  // If not in Shared scope, and if user is allowed, toggle the scope.
  protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.CanEnterSharedScope && 
        _manager.Personalization.Scope == PersonalizationScope.User)
      _manager.Personalization.ToggleScope();
  }
</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text=" 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>

La segunda parte del ejemplo de código es la página web. En la parte superior de la página hay dos directivas Register, una para el control de usuario y otra para el componente compilado que contiene los dos controles WebPart personalizados. Observe que la página tiene una referencia declarativa al control DeclarativeCatalogPart, anidada dentro de la jerarquía adecuada de elementos declarativos, tal como se describe en la sección Comentarios de este tema. El elemento <asp:declarativecatalogpart> contiene un elemento <webpartstemplate>, que a su vez contiene referencias para un control ASP.NET Calendar estándar y los dos controles de WebPart personalizados; estos son los controles que los usuarios pueden seleccionar en el catálogo. La página también contiene la funcionalidad de edición, con un control PropertyGridEditorPart declarado en la página. Este control permite a los usuarios editar determinadas propiedades en los controles de WebPart personalizados después de agregarlos a la página y después de que el usuario haya cambiado la página al modo de edición.

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

La tercera parte del ejemplo de código es el código fuente de los dos controles WebPart. Observe que algunas propiedades de estos controles están marcadas con el atributo WebBrowsable. Esto permite que el control PropertyGridEditorPart genere dinámicamente la interfaz de usuario (UI) para que un usuario edite esas propiedades cuando los controles están en modo de edición. Las propiedades también se marcan con un atributo WebDisplayName, para especificar el texto de la etiqueta que aparece junto a cada control de la interfaz de usuario de edición.

Para que se ejecute el ejemplo de código, debe compilar este código fuente. Puede compilarlo explícitamente y colocar el ensamblado resultante en la carpeta Bin del sitio web o en la caché global de ensamblados. Como alternativa, puede colocar el código fuente en la carpeta App_Code del sitio, donde se compilará dinámicamente en tiempo de ejecución. Para ver un tutorial que muestra ambos métodos de compilación, consulte Tutorial: Desarrollo y uso de un control 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

Al cargar la página en un explorador, seleccione modo de catálogo en el modo de presentación de control de lista desplegable para cambiar al modo de catálogo. En el modo de catálogo, puede ver los controles que están disponibles para agregarse a la página. Agregue los tres controles y, a continuación, use la modo de presentación lista desplegable para devolver la página al modo de exploración. Los tres controles aparecen en la página. Si usa la modo de presentación lista desplegable y cambia la página al modo de edición, puede hacer clic en el menú verbos (la flecha hacia abajo) en la barra de título del control Elemento web información de usuario y hacer clic en Editar para editar el control. Cuando la interfaz de usuario de edición esté visible, puede ver el control PropertyGridEditorPart. Observe que se representa un control para cada una de las propiedades de la clase UserInfoWebPart que se marcó con el atributo WebBrowsable. Si realiza algunos cambios en la interfaz de usuario de edición y hace clic en el botón Aplicar , puede usar la lista desplegable modo de presentación de para devolver la página para examinar el modo y ver el efecto completo de los cambios de edición.

Comentarios

Al igual que hay zonas orientadas a herramientas en el conjunto de controles de elementos web (para obtener más información, vea la información general de la clase ToolZone), hay controles Part orientados a herramientas y cada uno de estos controles debe residir en un determinado tipo de zona de herramientas. Los controles de elementos orientados a herramientas del conjunto de controles de elementos web tienen dos características distintivas:

  • Son controles auxiliares que permiten a los usuarios finales personalizar controles en una página de elementos web.

  • Solo son visibles en determinados modos de visualización.

DeclarativeCatalogPart es un control de parte que debe residir en un tipo de zona CatalogZoneBase, como la zona CatalogZone proporcionada con el conjunto de controles de elementos web. El control DeclarativeCatalogPart se vuelve visible solo cuando una página web está en modo de presentación de catálogo.

El control DeclarativeCatalogPart proporciona una manera de que los desarrolladores agreguen un conjunto de controles de servidor mediante declaración a un catálogo en una página web. Un catálogo, en el conjunto de controles de elementos web, es simplemente una lista de WebPart u otros controles de servidor que están visibles cuando una página está en modo de presentación de catálogo. Un usuario puede seleccionar controles de la lista y agregarlos a la página web, lo que ofrece a los usuarios la capacidad de cambiar el conjunto de controles y la funcionalidad de una página.

Nota

Los usuarios pueden agregar varias instancias del mismo control en un catálogo a una página web.

Una ventaja de usar un control DeclarativeCatalogPart para crear un catálogo de controles de servidor es que no requiere ninguna codificación. Los desarrolladores de páginas pueden trabajar con el control completamente en el formato declarativo (o persistencia de página), por lo que el nombre del control.

El control DeclarativeCatalogPart tiene una propiedad útil que permite a los desarrolladores configurar un catálogo de controles que se pueden usar en todo un sitio. En lugar de declarar controles de servidor individuales dentro de un control de DeclarativeCatalogPart, un desarrollador puede establecer el valor de propiedad WebPartsListUserControlPath en la ruta de acceso de un control de usuario que contiene la lista de controles de servidor que deben estar en el catálogo. En tiempo de ejecución, los controles de servidor a los que se hace referencia en el control de usuario se cargan en el catálogo. De este modo, varias páginas o sitios podrían hacer referencia al mismo control de usuario para crear un catálogo. Cuando se actualiza la lista de controles de servidor del control de usuario, actualizaría todos los catálogos en función del control de usuario.

La clase DeclarativeCatalogPart tiene una serie de propiedades públicas que invalidan las propiedades heredadas. La mayoría de estas propiedades no se usan realmente para representar el control; solo se reemplazan para que los atributos de código especiales se puedan establecer en ellos para ocultarlos de herramientas de diseño como Microsoft Visual Studio 2005. No debe usar estas propiedades ocultas, ya que no tienen ningún efecto en la representación. El hecho de que están ocultos de IntelliSense y el panel Propiedades de Visual Studio ayuda a los desarrolladores a evitar su uso por error. Todas estas propiedades ocultas se indican como tal en sus respectivos temas de Ayuda.

La clase DeclarativeCatalogPart también tiene varios métodos. El método GetAvailableWebPartDescriptions recupera un objeto WebPartDescription para cada control WebPart del catálogo, que permite que un control DeclarativeCatalogPart muestre información sobre cada control de servidor sin tener que crear una instancia de él. Otro método es el método GetWebPart. Este método obtiene una instancia de un control WebPart determinado, en función de la descripción que se pasa al método .

Nota

Para mejorar la accesibilidad, el control DeclarativeCatalogPart se representa dentro de un elemento <fieldset>. El <fieldset> elemento agrupa el conjunto relacionado de controles que se usan para editar en el control DeclarativeCatalogPart, y facilita la navegación con pestañas entre esos controles para los agentes de usuario visual (como exploradores web normales) y agentes de usuario orientados a voz (como software de lectura de pantalla).

Constructores

DeclarativeCatalogPart()

Inicializa una nueva instancia de la clase .

Propiedades

AccessKey

El control de elementos web no usa esta propiedad heredada al representar un control de DeclarativeCatalogPart. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

Adapter

Obtiene el adaptador específico del explorador para el control .

(Heredado de Control)
AppRelativeTemplateSourceDirectory

Obtiene o establece el directorio virtual relativo a la aplicación del objeto Page o UserControl que contiene este control.

(Heredado de Control)
Attributes

Obtiene la colección de atributos arbitrarios (solo para la representación) que no corresponden a las propiedades del control.

(Heredado de WebControl)
BackColor

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

BackImageUrl

El control de elementos web no usa esta propiedad heredada al representar un control de DeclarativeCatalogPart. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

BindingContainer

Obtiene el control que contiene el enlace de datos de este control.

(Heredado de Control)
BorderColor

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

BorderStyle

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

BorderWidth

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

ChildControlsCreated

Obtiene un valor que indica si se han creado los controles secundarios del control de servidor.

(Heredado de Control)
ChromeState

Obtiene o establece si un control de pieza está en un estado minimizado o normal.

(Heredado de Part)
ChromeType

Obtiene o establece el tipo de borde que enmarca un control de elementos web.

(Heredado de Part)
ClientID

Obtiene el identificador de control para el marcado HTML generado por ASP.NET.

(Heredado de Control)
ClientIDMode

Obtiene o establece el algoritmo que se usa para generar el valor de la propiedad ClientID.

(Heredado de Control)
ClientIDSeparator

Obtiene un valor de carácter que representa el carácter separador utilizado en la propiedad ClientID.

(Heredado de Control)
Context

Obtiene el objeto HttpContext asociado al control de servidor para la solicitud web actual.

(Heredado de Control)
Controls

Obtiene un objeto ControlCollection que contiene los controles secundarios de un control de servidor especificado en la jerarquía de la interfaz de usuario.

(Heredado de Part)
ControlStyle

Obtiene el estilo del control de servidor web. Esta propiedad se usa principalmente por los desarrolladores de control.

(Heredado de WebControl)
ControlStyleCreated

Obtiene un valor que indica si se ha creado un objeto Style para la propiedad ControlStyle. Esta propiedad la usan principalmente los desarrolladores de controles.

(Heredado de WebControl)
CssClass

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

DataItemContainer

Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataItemContainer.

(Heredado de Control)
DataKeysContainer

Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataKeysControl.

(Heredado de Control)
DefaultButton

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

Description

Obtiene o establece una frase breve que resume lo que hace el control de pieza, para su uso en información sobre herramientas y catálogos de controles de elementos.

(Heredado de Part)
DesignMode

Obtiene un valor que indica si se usa un control en una superficie de diseño.

(Heredado de Control)
Direction

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

DisplayTitle

Obtiene una cadena que contiene el título actual real de un control CatalogPart.

(Heredado de CatalogPart)
Enabled

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

EnableTheming

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

EnableViewState

Obtiene o establece un valor que indica si el control de servidor conserva su estado de vista y el estado de vista de los controles secundarios que contiene, al cliente solicitante.

(Heredado de Control)
Events

Obtiene una lista de delegados del controlador de eventos para el control . Esta propiedad es de solo lectura.

(Heredado de Control)
Font

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

ForeColor

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

GroupingText

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

HasAttributes

Obtiene un valor que indica si el control tiene los atributos establecidos.

(Heredado de WebControl)
HasChildViewState

Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen cualquier configuración de estado de vista guardada.

(Heredado de Control)
Height

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

HorizontalAlign

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

ID

Obtiene o establece el identificador de programación asignado al control de servidor.

(Heredado de Control)
IdSeparator

Obtiene el carácter usado para separar los identificadores de control.

(Heredado de Control)
IsChildControlStateCleared

Obtiene un valor que indica si los controles contenidos en este control tienen estado de control.

(Heredado de Control)
IsEnabled

Obtiene un valor que indica si el control está habilitado.

(Heredado de WebControl)
IsTrackingViewState

Obtiene un valor que indica si el control de servidor guarda los cambios en su estado de vista.

(Heredado de Control)
IsViewStateEnabled

Obtiene un valor que indica si el estado de vista está habilitado para este control.

(Heredado de Control)
LoadViewStateByID

Obtiene un valor que indica si el control participa en la carga de su estado de vista ID en lugar del índice.

(Heredado de Control)
NamingContainer

Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar entre los controles de servidor con el mismo valor de propiedad ID.

(Heredado de Control)
Page

Obtiene una referencia a la instancia de Page que contiene el control de servidor.

(Heredado de Control)
Parent

Obtiene una referencia al control primario del control de servidor en la jerarquía de controles de página.

(Heredado de Control)
RenderingCompatibility

Obtiene un valor que especifica la versión de ASP.NET con la que se representará HTML.

(Heredado de Control)
ScrollBars

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

Site

Obtiene información sobre el contenedor que hospeda el control actual cuando se representa en una superficie de diseño.

(Heredado de Control)
SkinID

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

Style

Obtiene una colección de atributos de texto que se representarán como un atributo de estilo en la etiqueta externa del control de servidor web.

(Heredado de WebControl)
SupportsDisabledAttribute

Obtiene un valor que indica si el control debe establecer el atributo disabled del elemento HTML representado en "disabled" cuando la propiedad IsEnabled del control es false.

(Heredado de Panel)
TabIndex

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

TagKey

Obtiene el valor de HtmlTextWriterTag que corresponde a este control de servidor web. Esta propiedad se usa principalmente por los desarrolladores de control.

(Heredado de WebControl)
TagName

Obtiene el nombre de la etiqueta de control. Esta propiedad se usa principalmente por los desarrolladores de control.

(Heredado de WebControl)
TemplateControl

Obtiene o establece una referencia a la plantilla que contiene este control.

(Heredado de Control)
TemplateSourceDirectory

Obtiene el directorio virtual del Page o UserControl que contiene el control de servidor actual.

(Heredado de Control)
Title

Obtiene o establece el título que aparece en la barra de título del control.

ToolTip

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

UniqueID

Obtiene el identificador único calificado jerárquicamente para el control de servidor.

(Heredado de Control)
ValidateRequestMode

Obtiene o establece un valor que indica si el control comprueba la entrada del cliente desde el explorador para detectar valores potencialmente peligrosos.

(Heredado de Control)
ViewState

Obtiene un diccionario de información de estado que permite guardar y restaurar el estado de vista de un control de servidor en varias solicitudes para la misma página.

(Heredado de Control)
ViewStateIgnoresCase

Obtiene un valor que indica si el objeto StateBag no distingue mayúsculas de minúsculas.

(Heredado de Control)
ViewStateMode

Obtiene o establece el modo de estado de vista de este control.

(Heredado de Control)
Visible

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

WebPartManager

Obtiene una referencia a la instancia actual de la clase WebPartManager.

(Heredado de CatalogPart)
WebPartsListUserControlPath

Obtiene o establece la ruta de acceso a un control de usuario que contiene una lista de WebPart u otros controles de servidor para el catálogo.

WebPartsTemplate

Obtiene o establece una referencia a una plantilla que contiene los controles WebPart declarados en un catálogo.

Width

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

Wrap

El control DeclarativeCatalogPart no usa esta propiedad heredada. La propiedad solo se invalida para impedir que aparezca en las herramientas del diseñador de Microsoft Visual Studio 2005.

Zone

Obtiene una referencia a la zona CatalogZoneBase que contiene un control CatalogPart.

(Heredado de CatalogPart)

Métodos

AddAttributesToRender(HtmlTextWriter)

Agrega información sobre la imagen de fondo, la alineación, el ajuste y la dirección a la lista de atributos que se van a representar.

(Heredado de Panel)
AddedControl(Control, Int32)

Se llama después de agregar un control secundario a la colección Controls del objeto Control.

(Heredado de Control)
AddParsedSubObject(Object)

Notifica al control de servidor que se ha analizado un elemento, ya sea XML o HTML, y agrega el elemento al objeto ControlCollection del control de servidor.

(Heredado de Control)
ApplyStyle(Style)

Copia todos los elementos que no sean de marca del estilo especificado en el control Web, sobrescribir los elementos de estilo existentes del control. Este método lo usan principalmente los desarrolladores de controles.

(Heredado de WebControl)
ApplyStyleSheetSkin(Page)

Aplica las propiedades de estilo definidas en la hoja de estilos de página al control .

(Heredado de Control)
BeginRenderTracing(TextWriter, Object)

Comienza el seguimiento en tiempo de diseño de los datos de representación.

(Heredado de Control)
BuildProfileTree(String, Boolean)

Recopila información sobre el control de servidor y la entrega a la propiedad Trace que se va a mostrar cuando el seguimiento está habilitado para la página.

(Heredado de Control)
ClearCachedClientID()

Establece el valor de ClientID almacenado en caché en null.

(Heredado de Control)
ClearChildControlState()

Elimina la información de estado de control de los controles secundarios del control de servidor.

(Heredado de Control)
ClearChildState()

Elimina la información de estado de vista y estado de control de todos los controles secundarios del control de servidor.

(Heredado de Control)
ClearChildViewState()

Elimina la información de estado de vista de todos los controles secundarios del control de servidor.

(Heredado de Control)
ClearEffectiveClientIDMode()

Establece la propiedad ClientIDMode de la instancia de control actual y de cualquier control secundario en Inherit.

(Heredado de Control)
CopyBaseAttributes(WebControl)

Copia las propiedades no encapsuladas por el objeto Style desde el control de servidor web especificado al control de servidor web desde el que se llama a este método. Este método se usa principalmente por los desarrolladores de controles.

(Heredado de WebControl)
CreateChildControls()

Llamado por el marco de ASP.NET página para notificar a los controles de servidor que usan la implementación basada en composición para crear los controles secundarios que contengan como preparación para la publicación o representación.

(Heredado de Control)
CreateControlCollection()

Crea un nuevo objeto ControlCollection para contener los controles secundarios (literal y servidor) del control de servidor.

(Heredado de Control)
CreateControlStyle()

Crea un objeto de estilo que el control Panel usa internamente para implementar todas las propiedades relacionadas con el estilo.

(Heredado de Panel)
DataBind()

Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios.

(Heredado de Part)
DataBind(Boolean)

Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios con una opción para generar el evento DataBinding.

(Heredado de Control)
DataBindChildren()

Enlaza un origen de datos a los controles secundarios del control de servidor.

(Heredado de Control)
Dispose()

Permite que un control de servidor realice la limpieza final antes de liberarse de la memoria.

(Heredado de Control)
EndRenderTracing(TextWriter, Object)

Finaliza el seguimiento en tiempo de diseño de los datos de representación.

(Heredado de Control)
EnsureChildControls()

Determina si el control de servidor contiene controles secundarios. Si no es así, crea controles secundarios.

(Heredado de Control)
EnsureID()

Crea un identificador para los controles que no tienen asignado un identificador.

(Heredado de Control)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
FindControl(String, Int32)

Busca en el contenedor de nomenclatura actual un control de servidor con el id especificado y un entero, especificado en el parámetro pathOffset, que ayuda en la búsqueda. No debe invalidar esta versión del método FindControl.

(Heredado de Control)
FindControl(String)

Busca en el contenedor de nomenclatura actual un control de servidor con el parámetro id especificado.

(Heredado de Control)
Focus()

Establece el foco de entrada en un control.

(Heredado de Control)
GetAvailableWebPartDescriptions()

Devuelve una colección de descripciones de los controles de WebPart disponibles en un catálogo.

GetDesignModeState()

Recupera el estado actual de una zona primaria de un CatalogPart control.

(Heredado de CatalogPart)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetRouteUrl(Object)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta.

(Heredado de Control)
GetRouteUrl(RouteValueDictionary)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta.

(Heredado de Control)
GetRouteUrl(String, Object)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta.

(Heredado de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta.

(Heredado de Control)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUniqueIDRelativeTo(Control)

Devuelve la parte prefijo de la propiedad UniqueID del control especificado.

(Heredado de Control)
GetWebPart(WebPartDescription)

Devuelve una referencia a un control WebPart basado en el valor de la descripción que se pasa al método .

HasControls()

Determina si el control de servidor contiene controles secundarios.

(Heredado de Control)
HasEvents()

Devuelve un valor que indica si los eventos están registrados para el control o para los controles secundarios.

(Heredado de Control)
IsLiteralContent()

Determina si el control de servidor contiene solo contenido literal.

(Heredado de Control)
LoadControlState(Object)

Restaura la información de estado de control de una solicitud de página anterior guardada por el método SaveControlState().

(Heredado de Control)
LoadViewState(Object)

Restaura la información de estado de vista de una solicitud anterior que se guardó con el método SaveViewState().

(Heredado de WebControl)
MapPathSecure(String)

Recupera la ruta de acceso física a la que se asigna una ruta de acceso virtual, absoluta o relativa.

(Heredado de Control)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MergeStyle(Style)

Copia todos los elementos que no sean de marca del estilo especificado en el control Web, pero no sobrescribirán ningún elemento de estilo existente del control. Este método se usa principalmente por los desarrolladores de controles.

(Heredado de WebControl)
OnBubbleEvent(Object, EventArgs)

Determina si el evento del control de servidor se pasa a la jerarquía de controles de servidor de interfaz de usuario de la página.

(Heredado de Control)
OnDataBinding(EventArgs)

Genera el evento DataBinding.

(Heredado de Control)
OnInit(EventArgs)

Genera el evento Init.

(Heredado de Control)
OnLoad(EventArgs)

Genera el evento Load.

(Heredado de Control)
OnPreRender(EventArgs)

Genera el evento PreRender.

(Heredado de CatalogPart)
OnUnload(EventArgs)

Genera el evento Unload.

(Heredado de Control)
OpenFile(String)

Obtiene un Stream usado para leer un archivo.

(Heredado de Control)
RaiseBubbleEvent(Object, EventArgs)

Asigna cualquier origen del evento y su información al elemento primario del control.

(Heredado de Control)
RemovedControl(Control)

Se llama después de quitar un control secundario de la colección Controls del objeto Control.

(Heredado de Control)
Render(HtmlTextWriter)

Representa el control en el escritor HTML especificado.

(Heredado de WebControl)
RenderBeginTag(HtmlTextWriter)

Representa la etiqueta de apertura HTML del control Panel en el escritor especificado.

(Heredado de Panel)
RenderChildren(HtmlTextWriter)

Genera el contenido de los elementos secundarios de un control de servidor en un objeto HtmlTextWriter proporcionado, que escribe el contenido que se va a representar en el cliente.

(Heredado de Control)
RenderContents(HtmlTextWriter)

Representa el contenido del control en el escritor especificado. Este método se usa principalmente por los desarrolladores de controles.

(Heredado de WebControl)
RenderControl(HtmlTextWriter, ControlAdapter)

Genera contenido de control de servidor en un objeto de HtmlTextWriter proporcionado mediante un objeto ControlAdapter proporcionado.

(Heredado de Control)
RenderControl(HtmlTextWriter)

Genera contenido de control de servidor en un objeto de HtmlTextWriter proporcionado y almacena información de seguimiento sobre el control si el seguimiento está habilitado.

(Heredado de Control)
RenderEndTag(HtmlTextWriter)

Representa la etiqueta de cierre HTML del control Panel en el escritor especificado.

(Heredado de Panel)
ResolveAdapter()

Obtiene el adaptador de control responsable de representar el control especificado.

(Heredado de Control)
ResolveClientUrl(String)

Obtiene una dirección URL que el explorador puede usar.

(Heredado de Control)
ResolveUrl(String)

Convierte una dirección URL en una que se pueda usar en el cliente solicitante.

(Heredado de Control)
SaveControlState()

Guarda los cambios de estado de control de servidor que se han producido desde el momento en que se devolvió la página al servidor.

(Heredado de Control)
SaveViewState()

Guarda cualquier estado que se modificó después de invocar el método TrackViewState().

(Heredado de WebControl)
SetDesignModeState(IDictionary)

Establece los datos en tiempo de diseño de un control.

(Heredado de CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en su control primario.

(Heredado de Control)
SetTraceData(Object, Object, Object)

Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante el objeto rastreado, la clave de datos de seguimiento y el valor de los datos de seguimiento.

(Heredado de Control)
SetTraceData(Object, Object)

Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante la clave de datos de seguimiento y el valor de los datos de seguimiento.

(Heredado de Control)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TrackViewState()

Hace que el control realice un seguimiento de los cambios en su estado de vista para que se puedan almacenar en la propiedad ViewState del objeto.

(Heredado de WebControl)

Eventos

DataBinding

Se produce cuando el control de servidor se enlaza a un origen de datos.

(Heredado de Control)
Disposed

Se produce cuando se libera un control de servidor de la memoria, que es la última fase del ciclo de vida del control de servidor cuando se solicita una página de ASP.NET.

(Heredado de Control)
Init

Se produce cuando se inicializa el control de servidor, que es el primer paso de su ciclo de vida.

(Heredado de Control)
Load

Se produce cuando el control de servidor se carga en el objeto Page.

(Heredado de Control)
PreRender

Se produce después de cargar el objeto Control, pero antes de la representación.

(Heredado de Control)
Unload

Se produce cuando el control de servidor se descarga de la memoria.

(Heredado de Control)

Implementaciones de interfaz explícitas

IAttributeAccessor.GetAttribute(String)

Obtiene un atributo del control Web con el nombre especificado.

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

Establece un atributo del control Web en el nombre y el valor especificados.

(Heredado de WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Permite al desarrollador de un diseñador de un control de pieza compuesta volver a crear los controles secundarios del control en la superficie de diseño.

(Heredado de Part)
IControlBuilderAccessor.ControlBuilder

Para obtener una descripción de este miembro, consulte ControlBuilder.

(Heredado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obtener una descripción de este miembro, consulte GetDesignModeState().

(Heredado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obtener una descripción de este miembro, consulte SetDesignModeState(IDictionary).

(Heredado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obtener una descripción de este miembro, consulte SetOwnerControl(Control).

(Heredado de Control)
IControlDesignerAccessor.UserData

Para obtener una descripción de este miembro, consulte UserData.

(Heredado de Control)
IDataBindingsAccessor.DataBindings

Para obtener una descripción de este miembro, consulte DataBindings.

(Heredado de Control)
IDataBindingsAccessor.HasDataBindings

Para obtener una descripción de este miembro, consulte HasDataBindings.

(Heredado de Control)
IExpressionsAccessor.Expressions

Para obtener una descripción de este miembro, consulte Expressions.

(Heredado de Control)
IExpressionsAccessor.HasExpressions

Para obtener una descripción de este miembro, consulte HasExpressions.

(Heredado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obtener una descripción de este miembro, consulte AddParsedSubObject(Object).

(Heredado de Control)

Métodos de extensión

FindDataSourceControl(Control)

Devuelve el origen de datos asociado al control de datos para el control especificado.

FindFieldTemplate(Control, String)

Devuelve la plantilla de campo de la columna especificada en el contenedor de nomenclatura del control especificado.

FindMetaTable(Control)

Devuelve el objeto de metatable para el control de datos contenedor.

GetDefaultValues(INamingContainer)

Obtiene la colección de los valores predeterminados para el control de datos especificado.

GetMetaTable(INamingContainer)

Obtiene los metadatos de la tabla para el control de datos especificado.

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

Establece los metadatos de la tabla y la asignación de valores predeterminados para el control de datos especificado.

SetMetaTable(INamingContainer, MetaTable, Object)

Establece los metadatos de la tabla y la asignación de valores predeterminados para el control de datos especificado.

SetMetaTable(INamingContainer, MetaTable)

Establece los metadatos de la tabla para el control de datos especificado.

TryGetMetaTable(INamingContainer, MetaTable)

Determina si los metadatos de la tabla están disponibles.

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

Habilita el comportamiento de datos dinámicos para el control de datos especificado.

EnableDynamicData(INamingContainer, Type, Object)

Habilita el comportamiento de datos dinámicos para el control de datos especificado.

EnableDynamicData(INamingContainer, Type)

Habilita el comportamiento de datos dinámicos para el control de datos especificado.

Se aplica a

Consulte también