ImportCatalogPart Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
public ref class ImportCatalogPart sealed : System::Web::UI::WebControls::WebParts::CatalogPart
public sealed class ImportCatalogPart : System.Web.UI.WebControls.WebParts.CatalogPart
type ImportCatalogPart = class
inherit CatalogPart
Public NotInheritable Class ImportCatalogPart
Inherits CatalogPart
- Herencia
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el ImportCatalogPart control mediante declaración y mediante programació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 CatalogZone control y un ImportCatalogPart control .
Un archivo de código fuente que contiene dos controles personalizados WebPart .
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 a los usuarios cambiar los modos de presentación en una página web. Debe colocar el código fuente siguiente en un archivo y asignarle el nombre Displaymodemenucs.ascx o Displaymodemenuvb.ascx (dependiendo del idioma que use). Para obtener más información sobre los modos de presentación y una descripción del código fuente de este control, vea Walkthrough: Changing Display Modes on a Web Parts Page.
<%@ 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 register
directivas, una para el control de usuario y otra para el componente compilado que contiene los dos controles personalizados WebPart . Observe que la página tiene una referencia declarativa al ImportCatalogPart control, anidada dentro de la jerarquía adecuada de elementos declarativos. Observe también que se asignan varios valores de propiedad mediante declaración en el <asp:importcatalogpart>
elemento . Además, el Button1_Click
método actualiza una serie de valores de propiedad en el ImportCatalogPart control .
En el control de WebPartZone la página, se declaran los dos controles personalizados WebPart . El <aspSample:userinfowebpart>
control tiene un exportmode="all"
atributo en él. Este atributo es necesario para permitir a los usuarios exportar un archivo de descripción para el control, que luego pueden importar otros usuarios que deseen importar el control mediante el archivo de descripción.
Nota
Para permitir que los usuarios de una aplicación de elementos web exportan un archivo de descripción para WebPart los controles, también debe habilitar la característica de exportación en la aplicación web agregando un enableExport="true"
atributo al <webParts>
elemento (que es un elemento secundario del <system.web>
elemento) en el archivo Web.config. La exportación está deshabilitada de forma predeterminada, por lo que si aún no ha habilitado la exportación de la aplicación, edite el archivo Web.config y hágalo ahora.
<%@ page language="c#" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
// <snippet3>
protected void Button1_Click(object sender, EventArgs e)
{
ImportCatalogPart1.Title = "Import Server Controls";
ImportCatalogPart1.BrowseHelpText = "Enter the path to a "
+ "description file.";
ImportCatalogPart1.UploadButtonText = "Upload Description";
ImportCatalogPart1.UploadHelpText = "Upload a description file.";
ImportCatalogPart1.ImportedPartLabelText = "Imported Controls";
ImportCatalogPart1.PartImportErrorLabelText = "An error occurred "
+ "during the import process.";
}
// </snippet3>
protected void Page_Load(object sender, EventArgs e)
{
Button1.Visible = false;
}
protected void ImportCatalogPart1_PreRender(object sender,
EventArgs e)
{
Button1.Visible = true;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>
ImportCatalogPart 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>
<aspSample:TextDisplayWebPart
runat="server"
id="TextDisplayWebPart1"
title = "Text Display WebPart" />
<aspsample:userinfowebpart id="userinfo1" runat="server"
Title="User Information" exportmode="all" />
</zonetemplate>
</asp:webpartzone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:ImportCatalogPart ID="ImportCatalogPart1"
runat="server"
Title="My ImportCatalogPart"
OnPreRender="ImportCatalogPart1_PreRender"
BrowseHelpText="Type a path or browse to find a control's
description file."
UploadButtonText="Upload Description File"
UploadHelpText="Click the button to upload the description
file."
ImportedPartLabelText="My User Information WebPart"
PartImportErrorLabelText="An error occurred while trying
to import a description file." />
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Update ImportCatalogPart"
OnClick="Button1_Click" />
</form>
</body>
</html>
<%@ page language="VB" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
' <snippet3>
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
ImportCatalogPart1.Title = "Import Server Controls"
ImportCatalogPart1.BrowseHelpText = "Enter the path to a " _
& "description file."
ImportCatalogPart1.UploadButtonText = "Upload Description"
ImportCatalogPart1.UploadHelpText = "Upload a description file."
ImportCatalogPart1.ImportedPartLabelText = "Imported Controls"
ImportCatalogPart1.PartImportErrorLabelText = "An error occurred " _
& "during the import process."
End Sub
' </snippet3>
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As EventArgs)
Button1.Visible = false
End Sub
Protected Sub ImportCatalogPart1_PreRender(ByVal sender As Object, _
ByVal e As EventArgs)
Button1.Visible = true
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
ImportCatalogPart 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>
<aspSample:TextDisplayWebPart
runat="server"
id="TextDisplayWebPart1"
title = "Text Display WebPart" />
<aspsample:userinfowebpart id="userinfo1" runat="server"
Title="User Information" exportmode="all" />
</zonetemplate>
</asp:webpartzone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:ImportCatalogPart ID="ImportCatalogPart1"
runat="server"
Title="My ImportCatalogPart"
OnPreRender="ImportCatalogPart1_PreRender"
BrowseHelpText="Type a path or browse to find a control's
description file."
UploadButtonText="Upload Description File"
UploadHelpText="Click the button to upload the description
file."
ImportedPartLabelText="My User Information WebPart"
PartImportErrorLabelText="An error occurred while trying
to import a description file." />
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Update ImportCatalogPart"
OnClick="Button1_Click" />
</form>
</body>
</html>
La tercera parte del ejemplo de código es el código fuente de los dos WebPart controles. Observe que algunas propiedades de estos controles están marcadas con el WebBrowsable
atributo . Esto permite que el PropertyGridEditorPart control 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 WebDisplayName
atributo 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. En este ejemplo de código se usa la compilación dinámica. Para ver un tutorial que muestra ambos métodos de compilación, vea Walkthrough: Developing and Using a Custom Web Server Control.
Se hace referencia al control personalizado denominado TextDisplayWebPart
en la página web con un <aspSample:TextDisplayWebPart>
elemento . El otro control, denominado UserInfoWebPart
, también se declara inicialmente en la página web, aunque lo quitará más adelante para demostrar la capacidad de importar un archivo de descripción para un control.
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 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 PetNickNameLabel;
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);
PetNickNameLabel = new Label();
PetNickNameLabel.Text = this.PetName;
SetControlAttributes(PetNickNameLabel);
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();
PetNickNameLabel.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 = Context.Server.HtmlEncode(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 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 PetNickNameLabel 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)
PetNickNameLabel = New Label()
PetNickNameLabel.Text = Me.PetName
SetControlAttributes(PetNickNameLabel)
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()
PetNickNameLabel.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 String.IsNullOrEmpty(input.Text) = False Then
_contentText = Context.Server.HtmlEncode(input.Text) + "<br />"
input.Text = String.Empty
DisplayContent.Text = Me.ContentText
End If
End Sub
End Class
End Namespace
Ahora ejecute el ejemplo de código. Cargue la página web en un explorador. El primer paso es editar el UserInfoWebPart
control. Use el control de lista desplegable Modo de presentación y seleccione Editar para cambiar la página al modo de edición. Haga clic en el menú verbos del UserInfoWebPart
control (la flecha hacia abajo de la barra de título) y, a continuación, haga clic en Editar. Cuando aparece la interfaz de usuario de edición, aparecen varios controles de edición debajo del UserInfoWebPart
control que puede usar para editar sus valores de campo. Edite algunos campos, haga clic en Aceptar y, a continuación, use la lista desplegable Modo de presentación para devolver la página al modo de exploración.
El segundo paso es exportar un . Archivo de descripción del elemento web para el UserInfoWebPart
control. Haga clic en el menú verbos del control personalizado (representado por la flecha hacia abajo de la barra de título) y haga clic en Exportar. Siga las instrucciones para guardar un . Archivo de descripción del elemento web para el control. Ahora cierre la página web y edite el origen de la página en un editor. Elimine el <aspSample:userinfowebpart>
elemento de declaración de control y guarde y cierre el archivo. (Está realizando este paso para simular un usuario que aún no tiene el UserInfoWebPart
control, por lo que puede importar el control a la página).
Vuelva a cargar la página web en un explorador. El UserInfoWebPart
control no debería aparecer porque lo quitó. Use el control de lista desplegable Modo de presentación y seleccione Catálogo para cambiar la página al modo de catálogo. En el ImportCatalogPart control, haga clic en el botón Examinar y vaya a . Archivo de elemento web que ha creado y, a continuación, haga clic en el botón Cargar . Debe aparecer una referencia al control con una casilla junto a él. Active la casilla y haga clic en Agregar para agregar el control a la página.
Mientras está en esta vista de la página, haga clic en el botón Actualizar ImportCatalogPart situado cerca de la parte inferior de la página para ver el efecto de actualizar mediante programación un número de valores de propiedad en el ImportCatalogPart control. Después de hacer clic en el botón, observe cómo se cambian las distintas propiedades en la interfaz de usuario.
Por último, haga clic en Cerrar para salir del modo de catálogo y devuelva la página al modo de exploración. El UserInfoWebPart
control debería aparecer ahora en la página, que contiene los valores que tenía al exportarlo anteriormente.
Comentarios
El ImportCatalogPart control permite a los usuarios importar un archivo de descripción que describe la configuración de un WebPart control o control de servidor que un usuario quiere agregar a una WebPartZoneBase zona.
Una vez que un usuario importa un archivo de descripción, el WebPart control al que se hace referencia en el archivo aparece dentro del ImportCatalogPart control y un usuario puede agregar el control a la página.
El archivo de descripción no es el mismo que el propio control. Es un archivo XML que termina con . La extensión WebPart y contiene pares nombre-valor--principalmente valores de propiedad- que describen el estado del control. El archivo de descripción se crea según un formato XML especificado, tal y como se describe en el tema Archivos de descripción del control de elementos web.
En cuanto al control al que hace referencia el archivo de descripción, se puede compilar en un ensamblado o puede ser un control de usuario definido en un archivo .ascx. En cualquier caso, el control al que se hace referencia en un archivo de descripción importado debe existir en el servidor web que hospeda la página que intenta importar el control. El archivo de descripción hace referencia al nombre del control y al ensamblado (o archivo) que contiene el control, y el archivo de descripción contiene valores de propiedad, apariencia y comportamiento del control.
El ImportCatalogPart control permite a los usuarios compartir la configuración en los controles. Un control complejo puede tener muchas propiedades y configuraciones. Por ejemplo, en un sitio de intranet típico dentro de una empresa grande, un control personalizado WebPart puede contener una serie de propiedades que contienen valores específicos del entorno de los usuarios, como sus conexiones de base de datos, información de departamento, etc. El control también puede contener una serie de propiedades que afectan a su apariencia. Un usuario podría personalizar el control en un sitio determinado y conseguir que funcione correctamente, exportar un archivo de descripción para el control y, a continuación, compartir el archivo de descripción con otros usuarios, que podrían importar el archivo para agregar el control totalmente configurado a otros sitios de intranet a los que se les permite personalizar. Siempre que el ensamblado compilado o el archivo de control de usuario que contiene el control exista en el servidor web que hospeda su sitio, los usuarios pueden agregar el control a otros sitios web.
El mecanismo por el que los usuarios importan un archivo de descripción (y, por tanto, su control de servidor asociado) en una página web es el ImportCatalogPart control , que un desarrollador de páginas debe agregar a una página web. Cuando un usuario cambia la página al modo de presentación del catálogo, aparece el ImportCatalogPart control y el usuario puede usar este control para ir a . Archivo de descripción del elemento web correspondiente al control de servidor que desea importar. Siguiendo la interfaz de usuario y las instrucciones proporcionadas por el ImportCatalogPart control , un usuario puede agregar el control de servidor deseado a la página web, con su apariencia y propiedades totalmente configuradas como se especifica en el archivo de descripción importado.
Antes de importar el archivo de descripción de un WebPart control, un usuario primero debe crear (exportar) el archivo en función de un control existente WebPart . Se puede exportar un archivo de descripción para un control si se cumplen las condiciones siguientes:
El control tiene propiedades marcadas con el
Personalizable
atributo .El archivo Web.config tiene el valor de
enableExport
atributo establecidotrue
en en el<webParts>
elemento .Un desarrollador establece el valor de la ExportMode propiedad en el control en un valor distinto del valor predeterminado de None, que prohíbe la exportación. Si el valor de la ExportMode propiedad se establece NonSensitiveDataen , cualquier propiedad que contenga un IsSensitive parámetro con un
Personalizable
atributo no se exporta cuando un usuario exporta un archivo de descripción. Esto permite a los desarrolladores de control evitar que se exporten datos confidenciales, como cadenas de conexión, en determinadas situaciones.
Un usuario puede exportar un control que se ha habilitado para exportar haciendo clic en el verbo de exportación que aparece en el menú verbos del control y siguiendo las instrucciones para guardar un . Archivo de descripción del elemento web para el control. A continuación, otros usuarios pueden importar este archivo para configurar sus propias instancias del control.
La ImportCatalogPart clase contiene varias propiedades. La BrowseHelpText propiedad contiene texto con instrucciones para los usuarios al buscar el archivo de descripción. La ImportedPartLabelText propiedad contiene texto que actúa como una etiqueta para el control importado tal como aparece dentro del ImportCatalogPart control. PartImportErrorLabelText contiene texto que se muestra si se produce un error cuando se importa una descripción del control. La Title propiedad invalida la propiedad base para asignar un título predeterminado para un ImportCatalogPart control si el desarrollador no asigna un título. La UploadButtonText propiedad contiene el texto del botón en el que el usuario hace clic para cargar el archivo de descripción y la UploadHelpText propiedad contiene las instrucciones para el proceso de carga.
La ImportCatalogPart clase también contiene varios métodos únicos. El GetAvailableWebPartDescriptions método recupera un WebPartDescription objeto para cada WebPart control del catálogo, lo que permite a un ImportCatalogPart control mostrar información sobre cada control de servidor sin tener que crear una instancia de él. El GetWebPart método obtiene una instancia de un control determinado WebPart , en función de la descripción que se pasa al método .
Existen algunos riesgos inherentes asociados al uso del ImportCatalogPart control . Un ejemplo es la posibilidad de importar datos malintencionados en la aplicación web a través de los archivos de descripción usados para la importación. Si alguien ha colocado código de script malintencionado como valor de una propiedad de cadena en el archivo de descripción, ese script podría ejecutarse potencialmente cuando un usuario importa el archivo de descripción y agrega el control de servidor al que se hace referencia a una página web. Para minimizar el riesgo de importar archivos de descripción con datos malintencionados, los controles de servidor que tienen propiedades con tipo cadena siempre deben codificar los datos de propiedad. Otro riesgo implica la importación de tipos a través de archivos de descripción (vea Archivos de descripción de control de elementos web). Un usuario malintencionado podría enviar solicitudes para cargar muchos ensamblados en AppDomain, lo que da lugar a que se consuma una cantidad excesiva de memoria.
Para evitar los riesgos asociados a la importación, puede deshabilitar la característica por completo sin usar la característica de importación ni el ImportCatalogPart control . O bien, puede limitar qué usuarios tienen acceso al control. Puede hacerlo mediante programación con la administración de roles (consulte Administración de la autorización mediante roles). Por ejemplo, cuando se carga la página, puede probar para ver si un usuario tiene un rol determinado, como el rol de administrador. Si el usuario está en el rol, puede agregar mediante programación el ImportCatalogPart control a la página de ese usuario. También puede usar un enfoque declarativo para limitar el conjunto de usuarios que pueden usar el ImportCatalogPart control . Dentro de la página web que contiene un catálogo, puede colocar dos CatalogZone controles: uno para los usuarios que pueden importar y otro para aquellos que no pueden. La zona para los usuarios que pueden importar contendrá el ImportCatalogPart control . La propia zona podría colocarse dentro de un LoginView control, lo que le permitiría limitar el uso del control en la zona solo a los usuarios o roles autenticados que especifique.
Constructores
ImportCatalogPart() |
Inicializa una nueva instancia de la clase ImportCatalogPart. |
Propiedades
AccessKey |
Obtiene o establece la clave de acceso que permite navegar rápidamente al control de servidor web. (Heredado de WebControl) |
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 el objeto UserControl que contiene este control. (Heredado de Control) |
Attributes |
Obtiene la colección de atributos arbitrarios (sólo para su representación) que no corresponden a propiedades del control. (Heredado de WebControl) |
BackColor |
Obtiene o establece el color de fondo del control de servidor web. (Heredado de WebControl) |
BackImageUrl |
Obtiene o establece la dirección URL de la imagen de fondo para el control del panel. (Heredado de Panel) |
BindingContainer |
Obtiene el control que contiene el enlace de datos de este control. (Heredado de Control) |
BorderColor |
Obtiene o establece el color de borde del control Web. (Heredado de WebControl) |
BorderStyle |
Obtiene o establece el estilo del borde del control de servidor web. (Heredado de WebControl) |
BorderWidth |
Obtiene o establece el ancho del borde del control de servidor web. (Heredado de WebControl) |
BrowseHelpText |
Obtiene o establece un mensaje de texto que indica a los usuarios que vayan a la ubicación de un archivo de descripción. |
ChildControlsCreated |
Obtiene un valor que indica si se han creado controles secundarios del control de servidor. (Heredado de Control) |
ChromeState |
Obtiene o establece si un control de elementos está en un estado minimizado o normal. (Heredado de Part) |
ChromeType |
Obtiene o establece el tipo de borde que encuadra un control de elementos Web. (Heredado de Part) |
ClientID |
Obtiene el id. de control para marcado HTML que se genera por ASP.NET. (Heredado de Control) |
ClientIDMode |
Obtiene o establece el algoritmo que se utiliza para generar el valor de la propiedad ClientID. (Heredado de Control) |
ClientIDSeparator |
Obtiene un valor de carácter que representa el carácter separado 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 para 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 la usan principalmente los programadores de controles. (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 programadores de controles. (Heredado de WebControl) |
CssClass |
Obtiene o establece la clase hoja de estilos en cascada (CSS) presentada por el control de servidor web en el cliente. (Heredado de WebControl) |
DataItemContainer |
Obtiene una referencia al contenedor de nomenclatura si este implementa IDataItemContainer. (Heredado de Control) |
DataKeysContainer |
Obtiene una referencia al contenedor de nomenclatura si este implementa IDataKeysControl. (Heredado de Control) |
DefaultButton |
Obtiene o establece qué botón de la interfaz de usuario (IU) se trata como el botón predeterminado que recibe el foco cuando se representa el formulario que contiene el botón. Esta propiedad no está diseñada para ser llamada desde código del desarrollador de páginas. |
Description |
Obtiene o establece una frase breve que resume lo que hace el control de elementos, para su uso en información sobre herramientas y en catálogos de controles de elementos. (Heredado de Part) |
DesignMode |
Obtiene un valor que indica si se está utilizando un control en una superficie de diseño. (Heredado de Control) |
Direction |
Obtiene o establece la dirección en la que se muestran los controles que incluyen texto en un control Panel. (Heredado de Panel) |
DisplayTitle |
Obtiene una cadena que contiene el título real actual de un control CatalogPart. (Heredado de CatalogPart) |
Enabled |
Obtiene o establece un valor que indica si el control de servidor web está habilitado. (Heredado de WebControl) |
EnableTheming |
Obtiene o establece un valor que indica si los temas se aplican a este control. (Heredado de WebControl) |
EnableViewState |
Obtiene o establece un valor que indica si el control de servidor conserva su estado de vista, así como el estado de vista de los controles secundarios que contiene, al cliente solicitante. (Heredado de Control) |
Events |
Obtiene una lista de delegados de controladores de eventos del control. Esta propiedad es de sólo lectura. (Heredado de Control) |
Font |
Obtiene las propiedades de fuente asociadas al control de servidor web. (Heredado de WebControl) |
ForeColor |
Obtiene o establece el color de primer plano (normalmente el color del texto) del control de servidor web. (Heredado de WebControl) |
GroupingText |
Obtiene o establece el título del grupo de controles contenido en el control de panel. (Heredado de Panel) |
HasAttributes |
Obtiene un valor que indica si el control tiene establecido algún atributo. (Heredado de WebControl) |
HasChildViewState |
Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen guardada alguna configuración del estado de vista. (Heredado de Control) |
Height |
Obtiene o establece el alto del control de servidor Web. (Heredado de WebControl) |
HorizontalAlign |
Obtiene o establece la alineación horizontal del contenido del panel. (Heredado de Panel) |
ID |
Obtiene o establece el identificador de programación asignado al control de servidor. (Heredado de Control) |
IdSeparator |
Obtiene el carácter utilizado para separar los identificadores de control. (Heredado de Control) |
ImportedPartLabelText |
Obtiene o establece el texto que se muestra después de que un usuario importe un archivo de descripción para representar o describir el control importado dentro del catálogo de controles importados. |
IsChildControlStateCleared |
Obtiene un valor que indica si los controles que se encuentran en este control tienen estado de control. (Heredado de Control) |
IsEnabled |
Obtiene un valor que indica si está habilitado el control. (Heredado de WebControl) |
IsTrackingViewState |
Obtiene un valor que indica si el control de servidor está guardando los cambios realizados 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 mediante ID en lugar de í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 los distintos controles de servidor que tienen el mismo valor para la propiedad ID. (Heredado de Control) |
Page |
Obtiene una referencia a la instancia Page que contiene el control de servidor. (Heredado de Control) |
Parent |
Obtiene una referencia al control principal del control de servidor en la jerarquía de controles de página. (Heredado de Control) |
PartImportErrorLabelText |
Obtiene o establece un mensaje de error que se muestra si se produce un error durante el proceso de importación. |
RenderingCompatibility |
Obtiene o establece un valor que especifica la versión de ASP.NET compatible con los elementos HTML representados. (Heredado de Control) |
ScrollBars |
Obtiene o establece la visibilidad y la posición de las barras de desplazamiento de un control Panel. (Heredado de Panel) |
Site |
Obtiene información sobre el contenedor en que se encuentra el control actual cuando se representa en una superficie de diseño. (Heredado de Control) |
SkinID |
Obtiene o establece la máscara que se aplica al control. (Heredado de WebControl) |
Style |
Obtiene una colección de atributos de texto que se representan como 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 en "disabled" el atributo |
TabIndex |
Obtiene o establece el índice de tabulación del control de servidor web. (Heredado de WebControl) |
TagKey |
Obtiene el valor HtmlTextWriterTag correspondiente al control de servidor web. Esta propiedad la usan principalmente los programadores de controles. (Heredado de WebControl) |
TagName |
Obtiene el nombre de la etiqueta del control. Esta propiedad la usan principalmente los programadores de controles. (Heredado de WebControl) |
TemplateControl |
Obtiene o establece una referencia a la plantilla que contiene este control. (Heredado de Control) |
TemplateSourceDirectory |
Obtiene el directorio virtual de 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 de un control ImportCatalogPart. |
ToolTip |
Obtiene o establece el texto que se muestra cuando el puntero del mouse se desplaza sobre el control de servidor web. (Heredado de WebControl) |
UniqueID |
Obtiene el identificador único calificado jerárquicamente para el control de servidor. (Heredado de Control) |
UploadButtonText |
Obtiene o establece el texto del control Button que inicia la carga de un archivo de descripción. |
UploadHelpText |
Obtiene o establece el texto del mensaje que indica al usuario cómo cargar un archivo de descripción. |
ValidateRequestMode |
Obtiene o establece un valor que indica si el control comprueba la entrada del cliente desde el explorador para valores potencialmente peligrosos. (Heredado de Control) |
ViewState |
Obtiene un diccionario con información de estado que le permite guardar y restaurar el estado de vista de un control de servidor en las distintas solicitudes de 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 del estado de vista de este control. (Heredado de Control) |
Visible |
Obtiene o establece un valor que indica si un control de servidor se representa como interfaz de usuario en la página. (Heredado de Control) |
WebPartManager |
Obtiene una referencia a la instancia actual de la clase WebPartManager. (Heredado de CatalogPart) |
Width |
Obtiene o establece el ancho del control de servidor web. (Heredado de WebControl) |
Wrap |
Obtiene o establece un valor que indica si el contenido se ajusta dentro del panel. (Heredado de Panel) |
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, alineación, ajuste y dirección a la lista de atributos que se van a presentar. (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 analizó un elemento, ya sea XML o HTML, y agrega el elemento al objeto ControlCollection del control del servidor. (Heredado de Control) |
ApplyStyle(Style) |
Copia en el control Web todos los elementos no vacíos del estilo especificado, sobrescribiendo los elementos de estilo existentes del mismo. Este método lo usan principalmente los programadores de controles. (Heredado de WebControl) |
ApplyStyleSheetSkin(Page) |
Aplica al control las propiedades de estilo definidas en la hoja de estilos de la página. (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 pasa a la propiedad Trace para que se muestre cuando está habilitada la traza de la página. (Heredado de Control) |
ClearCachedClientID() |
Establece en |
ClearChildControlState() |
Elimina la información sobre el estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
ClearChildState() |
Elimina la información sobre el estado de vista y el estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
ClearChildViewState() |
Elimina la información sobre el estado de vista de todos los controles secundarios del control de servidor. (Heredado de Control) |
ClearEffectiveClientIDMode() |
Establece la propiedad ClientIDMode de la instancia del control actual y de cualquier control secundario en Inherit. (Heredado de Control) |
CopyBaseAttributes(WebControl) |
Copia las propiedades no encapsuladas por el objeto Style del control de servidor web especificado al control de servidor web desde el que se efectúa la llamada al método. Este método lo usan principalmente los desarrolladores de controles. (Heredado de WebControl) |
CreateChildControls() |
Lo llama el marco de páginas ASP.NET para indicar a los controles de servidor que usan la implementación basada en composición que creen los controles secundarios que contengan como forma de preparar la devolución o representación de los datos. (Heredado de Control) |
CreateControlCollection() |
Crea un nuevo objeto ControlCollection que contendrá los controles secundarios (de literal y servidor) del control de servidor. (Heredado de Control) |
CreateControlStyle() |
Crea un objeto de estilo que usa el control Panel de forma interna 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 que se ha 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() |
Habilita un control de servidor para que realice la limpieza final antes de que se libere 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 tiene controles secundarios, los crea. (Heredado de Control) |
EnsureID() |
Crea un identificador para controles que no tiene un identificador asignado. (Heredado de Control) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FindControl(String) |
Busca un control de servidor con el parámetro |
FindControl(String, Int32) |
Busca el contenedor de nomenclatura actual para un control de servidor con el |
Focus() |
Establece el foco de entrada en un control. (Heredado de Control) |
GetAvailableWebPartDescriptions() |
Devuelve una colección de descripciones de los controles WebPart disponibles en un catálogo. |
GetDesignModeState() |
Recupera el estado actual de una zona primaria de un control CatalogPart. (Heredado de CatalogPart) |
GetHashCode() |
Sirve como la 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 correspondiente al prefijo de la propiedad UniqueID del control especificado. (Heredado de Control) |
GetWebPart(WebPartDescription) |
Devuelve una referencia a un control WebPart basándose en los valores de la descripción pasada al método. |
HasControls() |
Determina si el control de servidor contiene controles secundarios. (Heredado de Control) |
HasEvents() |
Devuelve un valor que indica si se registran eventos para el control o los controles secundarios. (Heredado de Control) |
IsLiteralContent() |
Determina si el control de servidor alberga únicamente contenido literal. (Heredado de Control) |
LoadControlState(Object) |
Restaura 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 del estado de la vista a partir 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 Object actual. (Heredado de Object) |
MergeStyle(Style) |
Copia en el control Web todos los elementos no vacíos del estilo especificado, pero no sobrescribe los elementos de estilo existentes en el mismo. Este método lo usan principalmente 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 control de servidor de la interfaz de usuario (UI) 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 objeto Stream utilizado para leer un archivo. (Heredado de Control) |
RaiseBubbleEvent(Object, EventArgs) |
Asigna los orígenes del evento y su información al control principal 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 sistema de escritura HTML especificado. (Heredado de WebControl) |
RenderBeginTag(HtmlTextWriter) |
Presenta la etiqueta HTML de apertura del control Panel en el sistema de escritura especificado. (Heredado de Panel) |
RenderChildren(HtmlTextWriter) |
Envía el contenido de los elementos secundarios de un control de servidor a un objeto HtmlTextWriter especificado, que escribe el contenido que se va a representar en el cliente. (Heredado de Control) |
RenderContents(HtmlTextWriter) |
Representa el contenido del control en el sistema de escritura especificado. Este método lo usan principalmente los desarrolladores de controles. (Heredado de WebControl) |
RenderControl(HtmlTextWriter) |
Envía el contenido de control del servidor a un objeto HtmlTextWriter proporcionado y almacena información de seguimiento sobre el control si está habilitado el seguimiento. (Heredado de Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Coloca el contenido de un control de servidor en un objeto HtmlTextWriter proporcionado, utilizando un objeto ControlAdapter proporcionado. (Heredado de Control) |
RenderEndTag(HtmlTextWriter) |
Presenta la etiqueta HTML de cierre del control Panel en el escritor especificado. (Heredado de Panel) |
ResolveAdapter() |
Obtiene el adaptador de controles que se encarga de representar el control especificado. (Heredado de Control) |
ResolveClientUrl(String) |
Obtiene una dirección URL que el explorador puede utilizar. (Heredado de Control) |
ResolveUrl(String) |
Convierte una dirección URL en una que el cliente solicitante pueda utilizar. (Heredado de Control) |
SaveControlState() |
Guarda los cambios de estado del control de servidor que se produjeron desde la hora en que la página volvió a publicarse en el servidor. (Heredado de Control) |
SaveViewState() |
Guarda cualquier estado modificado después de invocar el método TrackViewState(). (Heredado de WebControl) |
SetDesignModeState(IDictionary) |
Establece los datos en tiempo de diseño para un control. (Heredado de CatalogPart) |
SetRenderMethodDelegate(RenderMethod) |
Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en el control principal. (Heredado de Control) |
SetTraceData(Object, Object) |
Establece datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, para lo que usa la clave y el valor de los datos de seguimiento. (Heredado de Control) |
SetTraceData(Object, Object, Object) |
Establece datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, para lo que usa el objeto del que se ha realizado seguimiento, así como la clave 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 puedan almacenarse 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 un control de servidor se libera de la memoria, lo que constituye la última fase del período de duración de un control de servidor cuando se solicita una página ASP.NET. (Heredado de Control) |
Init |
Tiene lugar al inicializar el control de servidor, que es el primer paso en 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 una vez que se carga el objeto Control, pero antes de su 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 con el nombre y el valor especificados. (Heredado de WebControl) |
ICompositeControlDesignerAccessor.RecreateChildControls() |
Le permite al programador de un diseñador para un control de elementos compuesto 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, vea ControlBuilder. (Heredado de Control) |
IControlDesignerAccessor.GetDesignModeState() |
Para obtener una descripción de este miembro, vea GetDesignModeState(). (Heredado de Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Para obtener una descripción de este miembro, vea SetDesignModeState(IDictionary). (Heredado de Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Para obtener una descripción de este miembro, vea SetOwnerControl(Control). (Heredado de Control) |
IControlDesignerAccessor.UserData |
Para obtener una descripción de este miembro, vea UserData. (Heredado de Control) |
IDataBindingsAccessor.DataBindings |
Para obtener una descripción de este miembro, vea DataBindings. (Heredado de Control) |
IDataBindingsAccessor.HasDataBindings |
Para obtener una descripción de este miembro, vea HasDataBindings. (Heredado de Control) |
IExpressionsAccessor.Expressions |
Para obtener una descripción de este miembro, vea Expressions. (Heredado de Control) |
IExpressionsAccessor.HasExpressions |
Para obtener una descripción de este miembro, vea HasExpressions. (Heredado de Control) |
IParserAccessor.AddParsedSubObject(Object) |
Para obtener una descripción de este miembro, vea AddParsedSubObject(Object). (Heredado de Control) |
Métodos de extensión
FindDataSourceControl(Control) |
Devuelve el origen de datos que está asociado al control de datos del control especificado. |
FindFieldTemplate(Control, String) |
Devuelve la plantilla de campo para la columna especificada en el contenedor de nomenclatura del control especificado. |
FindMetaTable(Control) |
Devuelve el objeto de metatabla 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) |
Establece los metadatos de la tabla para el control de datos especificado. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Establece los metadatos de tabla y la asignación de valores predeterminados para el control de datos especificado. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Establece los metadatos de tabla y la asignación de valores predeterminados para el control de datos especificado. |
TryGetMetaTable(INamingContainer, MetaTable) |
Determina si están disponibles los metadatos de la tabla. |
EnableDynamicData(INamingContainer, Type) |
Habilita el comportamiento de datos dinámicos para el control de datos especificado. |
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. |