ImportCatalogPart Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- Herança
Exemplos
O exemplo de código a seguir demonstra como usar o ImportCatalogPart controle de forma declarativa e programática em uma página da Web. O exemplo tem quatro partes:
Um controle de usuário que permite alterar os modos de exibição em uma página de Web Parts.
Uma página da Web que contém um CatalogZone controle e um ImportCatalogPart controle .
Um arquivo de código-fonte que contém dois controles personalizados WebPart .
Uma explicação de como o exemplo funciona quando você carrega a página em um navegador.
A primeira parte desse exemplo de código é o controle de usuário que permite que os usuários alterem os modos de exibição em uma página da Web. Você deve colocar o código-fonte a seguir em um arquivo e nomeá-lo Displaymodemenucs.ascx ou Displaymodemenuvb.ascx (dependendo de qual idioma você está usando). Para obter detalhes sobre modos de exibição e uma descrição do código-fonte nesse controle, consulte Passo a passo: alterando modos de exibição em uma página de Web Parts.
<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
// Use a field to reference the current WebPartManager.
WebPartManager _manager;
void Page_Init(object sender, EventArgs e)
{
Page.InitComplete += new EventHandler(InitComplete);
}
void InitComplete(object sender, System.EventArgs e)
{
_manager = WebPartManager.GetCurrentWebPartManager(Page);
String browseModeName = WebPartManager.BrowseDisplayMode.Name;
// Fill the dropdown with the names of supported display modes.
foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
{
String modeName = mode.Name;
// Make sure a mode is enabled before adding it.
if (mode.IsEnabled(_manager))
{
ListItem item = new ListItem(modeName, modeName);
DisplayModeDropdown.Items.Add(item);
}
}
// If shared scope is allowed for this user, display the scope-switching
// UI and select the appropriate radio button for the current user scope.
if (_manager.Personalization.CanEnterSharedScope)
{
Panel2.Visible = true;
if (_manager.Personalization.Scope == PersonalizationScope.User)
RadioButton1.Checked = true;
else
RadioButton2.Checked = true;
}
}
// Change the page to the selected display mode.
void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
String selectedMode = DisplayModeDropdown.SelectedValue;
WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
if (mode != null)
_manager.DisplayMode = mode;
}
// Set the selected item equal to the current display mode.
void Page_PreRender(object sender, EventArgs e)
{
ListItemCollection items = DisplayModeDropdown.Items;
int selectedIndex =
items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
DisplayModeDropdown.SelectedIndex = selectedIndex;
}
// Reset all of a user's personalization data for the page.
protected void LinkButton1_Click(object sender, EventArgs e)
{
_manager.Personalization.ResetPersonalizationState();
}
// If not in User personalization scope, toggle into it.
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (_manager.Personalization.Scope == PersonalizationScope.Shared)
_manager.Personalization.ToggleScope();
}
// If not in Shared scope, and if user is allowed, toggle the scope.
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
if (_manager.Personalization.CanEnterSharedScope &&
_manager.Personalization.Scope == PersonalizationScope.User)
_manager.Personalization.ToggleScope();
}
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
' Use a field to reference the current WebPartManager.
Dim _manager As WebPartManager
Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
AddHandler Page.InitComplete, AddressOf InitComplete
End Sub
Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
_manager = WebPartManager.GetCurrentWebPartManager(Page)
Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
' Fill the dropdown with the names of supported display modes.
Dim mode As WebPartDisplayMode
For Each mode In _manager.SupportedDisplayModes
Dim modeName As String = mode.Name
' Make sure a mode is enabled before adding it.
If mode.IsEnabled(_manager) Then
Dim item As New ListItem(modeName, modeName)
DisplayModeDropdown.Items.Add(item)
End If
Next mode
' If shared scope is allowed for this user, display the scope-switching
' UI and select the appropriate radio button for the current user scope.
If _manager.Personalization.CanEnterSharedScope Then
Panel2.Visible = True
If _manager.Personalization.Scope = PersonalizationScope.User Then
RadioButton1.Checked = True
Else
RadioButton2.Checked = True
End If
End If
End Sub
' Change the page to the selected display mode.
Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs)
Dim selectedMode As String = DisplayModeDropdown.SelectedValue
Dim mode As WebPartDisplayMode = _
_manager.SupportedDisplayModes(selectedMode)
If Not (mode Is Nothing) Then
_manager.DisplayMode = mode
End If
End Sub
' Set the selected item equal to the current display mode.
Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
Dim items As ListItemCollection = DisplayModeDropdown.Items
Dim selectedIndex As Integer = _
items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
DisplayModeDropdown.SelectedIndex = selectedIndex
End Sub
' Reset all of a user's personalization data for the page.
Protected Sub LinkButton1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
_manager.Personalization.ResetPersonalizationState()
End Sub
' If not in User personalization scope, toggle into it.
Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.Scope = PersonalizationScope.Shared Then
_manager.Personalization.ToggleScope()
End If
End Sub
' If not in Shared scope, and if user is allowed, toggle the scope.
Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.CanEnterSharedScope AndAlso _
_manager.Personalization.Scope = PersonalizationScope.User Then
_manager.Personalization.ToggleScope()
End If
End Sub
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
A segunda parte do exemplo de código é a página da Web. Na parte superior da página estão duas register
diretivas, uma para o controle de usuário e outra para o componente compilado que contém os dois controles personalizados WebPart . Observe que a página tem uma referência declarativa ao ImportCatalogPart controle, aninhada dentro da hierarquia adequada de elementos declarativos. Observe também que vários valores de propriedade são atribuídos declarativamente no <asp:importcatalogpart>
elemento . Além disso, o Button1_Click
método atualiza vários valores de propriedade no ImportCatalogPart controle .
No controle da WebPartZone página, os dois controles personalizados WebPart são declarados. O <aspSample:userinfowebpart>
controle tem um exportmode="all"
atributo nele. Esse atributo é necessário para permitir que os usuários exportem um arquivo de descrição para o controle, que pode ser importado por outros usuários que desejam importar o controle usando o arquivo de descrição.
Observação
Para permitir que os usuários de um aplicativo de Web Parts exportem um arquivo de descrição para WebPart controles, você também deve habilitar o recurso de exportação no aplicativo Web adicionando um enableExport="true"
atributo ao <webParts>
elemento (que é filho do <system.web>
elemento) no arquivo Web.config. A exportação está desabilitada por padrão, portanto, se você ainda não tiver habilitado a exportação para seu aplicativo, edite o arquivo Web.config e faça-o agora.
<%@ 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>
A terceira parte do exemplo de código é o código-fonte dos dois WebPart controles. Observe que algumas propriedades nesses controles são marcadas com o WebBrowsable
atributo . Isso permite que o PropertyGridEditorPart controle gere dinamicamente a interface do usuário para um usuário editar essas propriedades quando os controles estiverem no modo de edição. As propriedades também são marcadas com um WebDisplayName
atributo , para especificar o texto do rótulo que aparece ao lado de cada controle na interface do usuário de edição. Para que o exemplo de código seja executado, você deve compilar esse código-fonte. Você pode compilá-lo explicitamente e colocar o assembly resultante na pasta Bin do site ou no cache de assembly global. Como alternativa, você pode colocar o código-fonte na pasta App_Code do site, na qual ele será compilado dinamicamente em tempo de execução. Este exemplo de código usa compilação dinâmica. Para obter um passo a passo que demonstra os dois métodos de compilação, consulte Passo a passo : desenvolvendo e usando um controle de servidor Web personalizado.
O controle personalizado chamado TextDisplayWebPart
é referenciado na página da Web com um <aspSample:TextDisplayWebPart>
elemento . O outro controle, chamado UserInfoWebPart
, também é declarado na página da Web inicialmente, embora você o remova mais tarde para demonstrar a capacidade de importar um arquivo de descrição para um controle.
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
Agora, execute o exemplo de código. Carregue a página da Web em um navegador. A primeira etapa é editar o UserInfoWebPart
controle. Use o controle de lista suspensa Modo de Exibição e selecione Editar para alternar a página para o modo de edição. Clique no menu de verbos do UserInfoWebPart
controle (a seta para baixo na barra de título) e clique em Editar. Quando a interface do usuário de edição é exibida, vários controles de edição aparecem abaixo do UserInfoWebPart
controle que você pode usar para editar seus valores de campo. Edite alguns campos, clique em OK e use a lista suspensa Modo de Exibição para retornar a página para o modo de navegação.
A segunda etapa é exportar um . Arquivo de descrição da WebPart para o UserInfoWebPart
controle. Clique no menu de verbos no controle personalizado (representado pela seta para baixo na barra de título) e clique em Exportar. Siga as instruções para salvar um . Arquivo de descrição da WebPart para o controle. Agora feche a página da Web e edite a origem da página em um editor. Exclua o <aspSample:userinfowebpart>
elemento de declaração de controle e salve e feche o arquivo. (Você está fazendo essa etapa para simular um usuário que ainda não tem o UserInfoWebPart
controle , para que você possa importar o controle para a página).
Carregue a página da Web novamente em um navegador. O UserInfoWebPart
controle não deve aparecer porque você o removeu. Use o controle de lista suspensa Modo de Exibição e selecione Catálogo para alternar a página para o modo de catálogo.
ImportCatalogPart No controle , clique no botão Procurar e navegue até o . Arquivo WebPart que você criou e, em seguida, clique no botão Carregar. Uma referência ao controle deve aparecer com uma caixa de seleção ao lado dele. Marque a caixa de seleção e clique em Adicionar para adicionar o controle à página.
Enquanto estiver nessa exibição da página, clique no botão Atualizar ImportCatalogPart próximo à parte inferior da página para ver o efeito de atualizar programaticamente vários valores de propriedade no ImportCatalogPart controle. Depois de clicar no botão, observe como as várias propriedades são alteradas na interface do usuário.
Por fim, clique em Fechar para sair do modo de catálogo e retornar a página para o modo de navegação. O UserInfoWebPart
controle agora deve aparecer na página, contendo os valores que tinha quando você o exportou anteriormente.
Comentários
O ImportCatalogPart controle permite que os usuários importem um arquivo de descrição que descreva as configurações em um WebPart controle ou controle de servidor que um usuário deseja adicionar a uma WebPartZoneBase zona.
Depois que um usuário importa um arquivo de descrição, o WebPart controle referenciado no arquivo aparece dentro do ImportCatalogPart controle e um usuário pode adicionar o controle à página.
O arquivo de descrição não é o mesmo que o controle em si. É um arquivo XML que termina com um . A extensão WebPart e contém pares nome/valor, principalmente valores de propriedade, que descrevem o estado do controle. O arquivo de descrição é criado de acordo com um formato XML especificado, conforme descrito no tópico Arquivos de Descrição do Controle de Web Parts.
Quanto ao controle ao qual o arquivo de descrição se refere, ele pode ser compilado em um assembly ou pode ser um controle de usuário definido em um arquivo .ascx. Em ambos os casos, o controle referenciado em um arquivo de descrição importado deve existir no servidor Web que hospeda a página que está tentando importar o controle. O arquivo de descrição faz referência ao nome do controle e ao assembly (ou arquivo) que contém o controle e o arquivo de descrição contém configurações que afetam os valores, a aparência e o comportamento da propriedade do controle.
O ImportCatalogPart controle permite que os usuários compartilhem configurações em controles. Um controle complexo pode ter muitas propriedades e configurações. Por exemplo, em um site de intranet típico dentro de uma grande empresa, um controle personalizado WebPart pode conter várias propriedades que contêm valores específicos para o ambiente dos usuários, como suas conexões de banco de dados, informações departamentais e assim por diante. O controle também pode conter várias propriedades que afetam sua aparência. Um usuário poderia personalizar o controle em um determinado site e fazê-lo funcionar corretamente, exportar um arquivo de descrição para o controle e, em seguida, compartilhar o arquivo de descrição com outros usuários, que poderiam importar o arquivo para adicionar o controle totalmente configurado a outros sites de intranet que eles têm permissão para personalizar. Desde que o assembly compilado ou o arquivo de controle de usuário que contém o controle exista no servidor Web que está hospedando seu site, os usuários podem adicionar o controle a outros sites.
O mecanismo pelo qual os usuários importam um arquivo de descrição (e, portanto, seu controle de servidor associado) para uma página da Web é o ImportCatalogPart controle que um desenvolvedor de página deve adicionar a uma página da Web. Quando um usuário alterna a página para o modo de exibição de catálogo, o ImportCatalogPart controle é exibido e o usuário pode usar esse controle para navegar até o . Arquivo de descrição de WebPart correspondente ao controle de servidor que deseja importar. Seguindo a interface do usuário e as ImportCatalogPart instruções fornecidas pelo controle , um usuário é capaz de adicionar o controle de servidor desejado à página da Web, com sua aparência e propriedades totalmente configuradas conforme especificado no arquivo de descrição importado.
Antes que o arquivo de descrição de um WebPart controle possa ser importado, um usuário deve primeiro criar (exportar) o arquivo com base em um controle existente WebPart . Um arquivo de descrição poderá ser exportado para um controle se as seguintes condições forem atendidas:
O controle tem propriedades marcadas com o
Personalizable
atributo .O arquivo Web.config tem o valor do
enableExport
atributo definidotrue
como no<webParts>
elemento .Um desenvolvedor define o valor da ExportMode propriedade no controle como um valor diferente do valor padrão de None, que proíbe a exportação. Se o valor da ExportMode propriedade for definido NonSensitiveDatacomo , qualquer propriedade que contenha um IsSensitive parâmetro com um
Personalizable
atributo não será exportada quando um usuário exportar um arquivo de descrição. Isso permite que os desenvolvedores de controle impeçam que dados confidenciais, como cadeias de conexão, sejam exportados em determinadas situações.
Um usuário pode exportar um controle que foi habilitado para exportação clicando no verbo de exportação que aparece no menu de verbos do controle e seguindo as instruções para salvar um . Arquivo de descrição da WebPart para o controle. Outros usuários podem importar esse arquivo para configurar suas próprias instâncias do controle.
A ImportCatalogPart classe contém várias propriedades. A BrowseHelpText propriedade contém texto com instruções para os usuários quando eles navegam para localizar o arquivo de descrição. A ImportedPartLabelText propriedade contém texto que serve como um rótulo para o controle importado como ele aparece dentro do ImportCatalogPart controle. O PartImportErrorLabelText contém o texto que será exibido se ocorrer um erro quando uma descrição de controle estiver sendo importada. A Title propriedade substitui a propriedade base para atribuir um título padrão a um ImportCatalogPart controle se o desenvolvedor não atribuir um título. A UploadButtonText propriedade contém o texto do botão em que o usuário clica para carregar o arquivo de descrição e a UploadHelpText propriedade contém as instruções para o processo de upload.
A ImportCatalogPart classe também contém vários métodos exclusivos. O GetAvailableWebPartDescriptions método recupera um WebPartDescription objeto para cada WebPart controle no catálogo, o que permite que um ImportCatalogPart controle exiba informações sobre cada controle de servidor sem precisar criar uma instância dele. O GetWebPart método obtém uma instância de um controle específico WebPart , com base na descrição passada para o método .
Há alguns riscos inerentes associados ao uso do ImportCatalogPart controle . Um exemplo é a possibilidade de importar dados mal-intencionados para seu aplicativo Web por meio dos arquivos de descrição usados para importação. Se alguém tiver colocado um código de script mal-intencionado como o valor de uma propriedade de cadeia de caracteres no arquivo de descrição, esse script poderá ser executado quando um usuário importar o arquivo de descrição e adicionar o controle de servidor referenciado a uma página da Web. Para minimizar o risco de importar arquivos de descrição com dados mal-intencionados, os controles de servidor que têm propriedades do tipo cadeia de caracteres sempre devem codificar os dados da propriedade. Outro risco envolve a importação de tipos por meio de arquivos de descrição (consulte Arquivos de Descrição do Controle de Web Parts). Um usuário mal-intencionado poderia enviar solicitações para carregar muitos assemblies no AppDomain, resultando em uma quantidade excessiva de memória sendo consumida.
Para evitar os riscos associados à importação, você pode desabilitar completamente o recurso não usando o recurso de importação ou o ImportCatalogPart controle . Ou você pode limitar o que os usuários têm acesso ao controle. Você pode fazer isso programaticamente, usando o gerenciamento de função (consulte Gerenciando autorização usando funções). Por exemplo, quando a página é carregada, você pode testar para ver se um usuário está em uma determinada função, como a função de administrador. Se o usuário estiver na função, você poderá adicionar programaticamente o ImportCatalogPart controle à página desse usuário. Você também pode usar uma abordagem declarativa para limitar o conjunto de usuários que podem usar o ImportCatalogPart controle. Em sua página da Web que contém um catálogo, você pode colocar dois CatalogZone controles: um para usuários que podem importar e outro para aqueles que não podem. A zona para usuários que podem importar conteria o ImportCatalogPart controle . A própria zona pode ser colocada dentro de um LoginView controle, o que permitiria limitar o uso do controle na zona apenas para os usuários ou funções autenticados que você especificar.
Construtores
ImportCatalogPart() |
Inicializa uma nova instância da classe ImportCatalogPart. |
Propriedades
AccessKey |
Obtém ou define a tecla de acesso que permite navegar rapidamente para o controle do servidor Web. (Herdado de WebControl) |
Adapter |
Obtém o adaptador específico de navegador para o controle. (Herdado de Control) |
AppRelativeTemplateSourceDirectory |
Obtém ou define o diretório virtual relativo de aplicativo do objeto Page ou UserControl que contém este controle. (Herdado de Control) |
Attributes |
Obtém a coleção de atributos arbitrários (somente para renderização) que não correspondem às propriedades do controle. (Herdado de WebControl) |
BackColor |
Obtém ou define a cor da tela de fundo do controle do servidor Web. (Herdado de WebControl) |
BackImageUrl |
Obtém ou define a URL da imagem de tela de fundo do controle do painel. (Herdado de Panel) |
BindingContainer |
Obtém o controle que contém a vinculação de dados desse controle. (Herdado de Control) |
BorderColor |
Obtém ou define a cor da borda do controle Web. (Herdado de WebControl) |
BorderStyle |
Obtém ou define o estilo de borda do controle de servidor Web. (Herdado de WebControl) |
BorderWidth |
Obtém ou define a largura da borda do controle de servidor Web. (Herdado de WebControl) |
BrowseHelpText |
Obtém ou define uma mensagem de texto que instrui os usuários a navegar até o local de um arquivo de descrição. |
ChildControlsCreated |
Obtém um valor que indica se os controles filho do controle de servidor foram criados. (Herdado de Control) |
ChromeState |
Obtém ou define se um controle Part está em um estado minimizado ou normal. (Herdado de Part) |
ChromeType |
Obtém ou define o tipo de borda que emoldura um controle de Web Parts. (Herdado de Part) |
ClientID |
Obtém a ID de controle de marcação HTML gerada pelo ASP.NET. (Herdado de Control) |
ClientIDMode |
Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID. (Herdado de Control) |
ClientIDSeparator |
Obtém um valor de caractere que representa o caractere separador usado na propriedade ClientID. (Herdado de Control) |
Context |
Obtém o objeto HttpContext associado ao controle de servidor para a solicitação da Web atual. (Herdado de Control) |
Controls |
Obtém um objeto ControlCollection que contém os controles filho para um controle de servidor especificado na hierarquia de interface do usuário. (Herdado de Part) |
ControlStyle |
Obtém o estilo de um controle de servidor Web. Essa propriedade é usada principalmente por desenvolvedores de controle. (Herdado de WebControl) |
ControlStyleCreated |
Obtém um valor que indica se um objeto Style foi criado para a propriedade ControlStyle. Essa propriedade é usada principalmente por desenvolvedores de controle. (Herdado de WebControl) |
CssClass |
Obtém ou define a classe CSS (Folha de Estilos em Cascata) renderizada pelo controle do servidor Web no cliente. (Herdado de WebControl) |
DataItemContainer |
Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataItemContainer. (Herdado de Control) |
DataKeysContainer |
Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataKeysControl. (Herdado de Control) |
DefaultButton |
Obtém ou define qual botão na interface do usuário é tratado como o botão padrão que recebe o foco quando o formulário que contém o botão é renderizado. Essa propriedade não se destina a ser chamada do código do desenvolvedor de página. |
Description |
Obtém ou define uma frase curta que resume o que o controle Part faz, para ser usada em dicas de ferramenta e catálogos de controles Part. (Herdado de Part) |
DesignMode |
Obtém um valor que indica se um controle está sendo usado em uma superfície de design. (Herdado de Control) |
Direction |
Obtém ou define a direção na qual exibir controles que incluem texto em um controle Panel. (Herdado de Panel) |
DisplayTitle |
Obtém uma cadeia de caracteres que contém o título atual real de um controle de CatalogPart. (Herdado de CatalogPart) |
Enabled |
Obtém ou define um valor que indica se o controle do servidor Web está habilitado. (Herdado de WebControl) |
EnableTheming |
Obtém ou define um valor que indica se os temas se aplicam a esse controle. (Herdado de WebControl) |
EnableViewState |
Obtém ou define um valor que indica se o controle de servidor persiste seu estado de exibição e o estado de exibição de quaisquer controles filho que ele contém, para o cliente solicitante. (Herdado de Control) |
Events |
Obtém uma lista de delegados de manipulador de eventos para o controle. Esta propriedade é somente para leitura. (Herdado de Control) |
Font |
Obtém as propriedades de fonte associadas ao controle do servidor Web. (Herdado de WebControl) |
ForeColor |
Obtém ou define a cor de primeiro plano (normalmente a cor do texto) do controle de servidor Web. (Herdado de WebControl) |
GroupingText |
Obtém ou define a legenda para o grupo de controles contidos no controle do painel. (Herdado de Panel) |
HasAttributes |
Obtém um valor que indica se o controle tem atributos definidos. (Herdado de WebControl) |
HasChildViewState |
Obtém um valor que indica se os controles filho do controle de servidor atual têm alguma configuração de estado de exibição salva. (Herdado de Control) |
Height |
Obtém ou define a altura do controle do servidor Web. (Herdado de WebControl) |
HorizontalAlign |
Obtém ou define o alinhamento horizontal do conteúdo no painel. (Herdado de Panel) |
ID |
Obtém ou define o identificador programático atribuído ao controle de servidor. (Herdado de Control) |
IdSeparator |
Obtém o caractere usado para separar identificadores de controle. (Herdado de Control) |
ImportedPartLabelText |
Obtém ou define o texto exibido após um usuário importar um arquivo de descrição para representar ou descrever o controle importado no catálogo de controles importados. |
IsChildControlStateCleared |
Obtém um valor que indica se os controles contidos dentro deste controle têm estado de controle. (Herdado de Control) |
IsEnabled |
Obtém um valor que indica se o controle está habilitado. (Herdado de WebControl) |
IsTrackingViewState |
Obtém um valor que indica se o controle de servidor está salvando alterações no estado de exibição. (Herdado de Control) |
IsViewStateEnabled |
Obtém um valor que indica se o estado de exibição está habilitado para esse controle. (Herdado de Control) |
LoadViewStateByID |
Obtém um valor que indica se o controle participa do carregamento do estado de exibição por ID em vez do índice. (Herdado de Control) |
NamingContainer |
Obtém uma referência ao contêiner de nomenclatura do controle do servidor, que cria um namespace exclusivo para diferenciar entre os controles de servidor com o mesmo valor da propriedade ID. (Herdado de Control) |
Page |
Obtém uma referência para a instância Page que contém o controle de servidor. (Herdado de Control) |
Parent |
Obtém uma referência ao controle pai do controle de servidor na hierarquia de controle da página. (Herdado de Control) |
PartImportErrorLabelText |
Obtém ou define uma mensagem de erro que será exibida se ocorrer um erro durante o processo de importação. |
RenderingCompatibility |
Obtém um valor que especifica a versão do ASP.NET com a qual o HTML renderizado será compatível. (Herdado de Control) |
ScrollBars |
Obtém ou define a visibilidade e a posição das barras de rolagem em um controle Panel. (Herdado de Panel) |
Site |
Obtém informações sobre o contêiner que hospeda o controle atual quando renderizados em uma superfície de design. (Herdado de Control) |
SkinID |
Obtém ou define a capa a ser aplicada ao controle. (Herdado de WebControl) |
Style |
Obtém uma coleção de atributos de texto que serão renderizados como um atributo de estilo na marca externa do controle de servidor Web. (Herdado de WebControl) |
SupportsDisabledAttribute |
Obtém um valor que indica se o controle deve definir o atributo |
TabIndex |
Obtém ou define o índice de tabulação do controle do servidor Web. (Herdado de WebControl) |
TagKey |
Obtém o valor HtmlTextWriterTag que corresponde ao controle do servidor Web. Essa propriedade é usada principalmente por desenvolvedores de controle. (Herdado de WebControl) |
TagName |
Obtém o nome da marca de controle. Essa propriedade é usada principalmente por desenvolvedores de controle. (Herdado de WebControl) |
TemplateControl |
Obtém ou define uma referência ao modelo que contém este controle. (Herdado de Control) |
TemplateSourceDirectory |
Obtém o diretório virtual do Page ou UserControl que contém o controle do servidor atual. (Herdado de Control) |
Title |
Obtém ou define o título que aparece na barra de título de um controle ImportCatalogPart. |
ToolTip |
Obtém ou define o texto exibido quando o ponteiro do mouse passa sobre o controle de servidor Web. (Herdado de WebControl) |
UniqueID |
Obtém o identificador exclusivo, qualificado segundo a hierarquia, para o controle de servidor. (Herdado de Control) |
UploadButtonText |
Obtém ou define o texto para o controle Button que inicia o upload de um arquivo de descrição. |
UploadHelpText |
Obtém ou define o texto da mensagem que informa ao usuário como carregar um arquivo de descrição. |
ValidateRequestMode |
Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador para valores potencialmente perigosos. (Herdado de Control) |
ViewState |
Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um controle de servidor em várias solicitações para a mesma página. (Herdado de Control) |
ViewStateIgnoresCase |
Obtém um valor que indica se o objeto StateBag não diferencia maiúsculas de minúsculas. (Herdado de Control) |
ViewStateMode |
Obtém ou define o modo de estado de exibição deste controle. (Herdado de Control) |
Visible |
Obtém ou define um valor que indica se um controle de servidor é renderizado como uma interface do usuário na página. (Herdado de Control) |
WebPartManager |
Obtém uma referência à instância atual da classe WebPartManager. (Herdado de CatalogPart) |
Width |
Obtém ou define a largura do controle de servidor Web. (Herdado de WebControl) |
Wrap |
Obtém ou define um valor que indica se o conteúdo será quebrado dentro do painel. (Herdado de Panel) |
Zone |
Obtém uma referência à zona de CatalogZoneBase que contém um controle de CatalogPart. (Herdado de CatalogPart) |
Métodos
AddAttributesToRender(HtmlTextWriter) |
Adiciona informações sobre a imagem de tela de fundo, o alinhamento, o encapsulamento e a direção para a lista de atributos a renderizar. (Herdado de Panel) |
AddedControl(Control, Int32) |
Chamado após um controle filho ser adicionado à coleção Controls do objeto Control. (Herdado de Control) |
AddParsedSubObject(Object) |
Notifica o controle de servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento ao objeto ControlCollection do controle de servidor. (Herdado de Control) |
ApplyStyle(Style) |
Copia os elementos não vazios do estilo especificado para o controle da Web, substituindo os elementos de estilo existentes no controle. Esse método é usado principalmente por desenvolvedores de controles. (Herdado de WebControl) |
ApplyStyleSheetSkin(Page) |
Aplica as propriedades de estilo definidas na folha de estilos da página ao controle. (Herdado de Control) |
BeginRenderTracing(TextWriter, Object) |
Inicia o rastreamento de tempo de design de dados de renderização. (Herdado de Control) |
BuildProfileTree(String, Boolean) |
Reúne informações sobre o controle de servidor e as envia para a propriedade Trace para serem exibidas quando o rastreamento está habilitado para a página. (Herdado de Control) |
ClearCachedClientID() |
Define o valor ClientID armazenado em cache como |
ClearChildControlState() |
Exclui as informações de estado de controle para os controles filho do controle de servidor. (Herdado de Control) |
ClearChildState() |
Exclui as informações de estado de exibição e de estado de controle para todos os controles filho do controle de servidor. (Herdado de Control) |
ClearChildViewState() |
Exclui as informações de estado de exibição para todos os controles filho do controle de servidor. (Herdado de Control) |
ClearEffectiveClientIDMode() |
Define a propriedade ClientIDMode da instância de controle atual e de quaisquer controles filho para Inherit. (Herdado de Control) |
CopyBaseAttributes(WebControl) |
Copia as propriedades que não são encapsuladas pelo objeto Style de controle do servidor Web especificado ao controle de servidor Web do qual este método é chamado. Esse método é usado principalmente por desenvolvedores de controle. (Herdado de WebControl) |
CreateChildControls() |
Chamado pela estrutura de página do ASP.NET para notificar os controles do servidor que usam a implementação baseada em composição para criar os controles filho para preparar-se para um postback ou renderização. (Herdado de Control) |
CreateControlCollection() |
Cria um novo objeto ControlCollection para manter os controles filho (literal e servidor) do controle do servidor. (Herdado de Control) |
CreateControlStyle() |
Cria um objeto de estilo que é usado internamente pelo controle Panel para implementar todas as propriedades relacionadas ao estilo. (Herdado de Panel) |
DataBind() |
Associa uma fonte de dados ao controle de servidor chamado e a todos os seus controles filho. (Herdado de Part) |
DataBind(Boolean) |
Associa uma fonte de dados ao controle de servidor invocado e todos os seus controles filho com uma opção para gerar o evento DataBinding. (Herdado de Control) |
DataBindChildren() |
Associa uma fonte de dados aos controles filho do controle do servidor. (Herdado de Control) |
Dispose() |
Permite que um controle de servidor execute a limpeza final antes do lançamento da memória. (Herdado de Control) |
EndRenderTracing(TextWriter, Object) |
Encerra o rastreamento de tempo de design de dados de renderização. (Herdado de Control) |
EnsureChildControls() |
Determinará se o controle de servidor contiver controles filho. Se ele não contiver, ele criará controles filho. (Herdado de Control) |
EnsureID() |
Cria um identificador para controles que não têm um identificador atribuído. (Herdado de Control) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
FindControl(String) |
Procura o atual contêiner de nomenclatura de um controle de servidor com o parâmetro |
FindControl(String, Int32) |
Procura o contêiner de nomenclatura atual para um controle de servidor com o |
Focus() |
Define o foco de entrada para um controle. (Herdado de Control) |
GetAvailableWebPartDescriptions() |
Retorna uma coleção de descrições dos controles WebPart disponíveis em um catálogo. |
GetDesignModeState() |
Recupera o estado atual da zona pai de um controle de CatalogPart. (Herdado de CatalogPart) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetRouteUrl(Object) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control) |
GetRouteUrl(RouteValueDictionary) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control) |
GetRouteUrl(String, Object) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control) |
GetRouteUrl(String, RouteValueDictionary) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetUniqueIDRelativeTo(Control) |
Retorna a parte prefixada da propriedade UniqueID do controle especificado. (Herdado de Control) |
GetWebPart(WebPartDescription) |
Retorna uma referência a um controle WebPart com base nos valores da descrição passada para o método. |
HasControls() |
Determina se o controle de servidor contém algum controle filho. (Herdado de Control) |
HasEvents() |
Retorna um valor que indica se os eventos são registrados para o controle ou qualquer controle filho. (Herdado de Control) |
IsLiteralContent() |
Determina se o controle de servidor contém apenas o conteúdo literal. (Herdado de Control) |
LoadControlState(Object) |
Restaura informações de estado de controle de uma solicitação de página anterior que foi salva pelo método SaveControlState(). (Herdado de Control) |
LoadViewState(Object) |
Restaura informações de estado de exibição de uma solicitação anterior que foi salva com o método SaveViewState(). (Herdado de WebControl) |
MapPathSecure(String) |
Recupera o caminho físico para o qual um caminho virtual é mapeado, relativo ou virtual. (Herdado de Control) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MergeStyle(Style) |
Copia os elementos não vazios do estilo especificado para o controle da Web, mas não substituirá os elementos de estilo existentes do controle. Esse método é usado principalmente por desenvolvedores de controle. (Herdado de WebControl) |
OnBubbleEvent(Object, EventArgs) |
Determina se o evento do controle de servidor é passado um nível acima da hierarquia de controle de servidor da interface do usuário da página. (Herdado de Control) |
OnDataBinding(EventArgs) |
Aciona o evento DataBinding. (Herdado de Control) |
OnInit(EventArgs) |
Aciona o evento Init. (Herdado de Control) |
OnLoad(EventArgs) |
Aciona o evento Load. (Herdado de Control) |
OnPreRender(EventArgs) |
Aciona o evento PreRender. (Herdado de CatalogPart) |
OnUnload(EventArgs) |
Aciona o evento Unload. (Herdado de Control) |
OpenFile(String) |
Obtém um Stream usado para ler um arquivo. (Herdado de Control) |
RaiseBubbleEvent(Object, EventArgs) |
Atribui quaisquer fontes de evento e suas informações para o pai do controle. (Herdado de Control) |
RemovedControl(Control) |
Chamado após um controle filho ser removido da coleção Controls do objeto Control. (Herdado de Control) |
Render(HtmlTextWriter) |
Renderiza o controle para o gravador de HTML especificado. (Herdado de WebControl) |
RenderBeginTag(HtmlTextWriter) |
Renderiza a marca de abertura HTML do controle Panel para o gravador especificado. (Herdado de Panel) |
RenderChildren(HtmlTextWriter) |
Gera o conteúdo dos filhos de um controle de servidor para um objeto HtmlTextWriter fornecido, que grava o conteúdo a ser renderizado no cliente. (Herdado de Control) |
RenderContents(HtmlTextWriter) |
Renderiza o conteúdo do controle no gravador especificado. Esse método é usado principalmente por desenvolvedores de controle. (Herdado de WebControl) |
RenderControl(HtmlTextWriter) |
Gera o conteúdo do controle de servidor para um objeto HtmlTextWriter fornecido e armazena informações de rastreamento sobre o controle caso o rastreamento esteja habilitado. (Herdado de Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Gera o conteúdo do controle de servidor a um objeto HtmlTextWriter fornecido usando um objeto ControlAdapter fornecido. (Herdado de Control) |
RenderEndTag(HtmlTextWriter) |
Renderiza a marca de fechamento HTML do controle Panel para o gravador especificado. (Herdado de Panel) |
ResolveAdapter() |
Obtém o adaptador de controle responsável por renderizar o controle especificado. (Herdado de Control) |
ResolveClientUrl(String) |
Obtém uma URL que pode ser usada pelo navegador. (Herdado de Control) |
ResolveUrl(String) |
Converte uma URL em uma que possa ser usada no cliente solicitante. (Herdado de Control) |
SaveControlState() |
Salva as alterações de estado do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor. (Herdado de Control) |
SaveViewState() |
Salva qualquer estado que foi modificado depois que o método TrackViewState() foi invocado. (Herdado de WebControl) |
SetDesignModeState(IDictionary) |
Define os dados de tempo de design para um controle. (Herdado de CatalogPart) |
SetRenderMethodDelegate(RenderMethod) |
Atribui um delegado do manipulador de eventos para renderizar o controle de servidor e seu conteúdo em seu controle pai. (Herdado de Control) |
SetTraceData(Object, Object) |
Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando a chave e o valor de dados de rastreamento. (Herdado de Control) |
SetTraceData(Object, Object, Object) |
Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando o objeto rastreado, a chave e o valor de dados de rastreamento. (Herdado de Control) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TrackViewState() |
Faz com que o controle acompanhe as alterações a seu estado de exibição para que eles possam ser armazenados na propriedade ViewState do objeto. (Herdado de WebControl) |
Eventos
DataBinding |
Ocorre quando o controle de servidor é associado a uma fonte de dados. (Herdado de Control) |
Disposed |
Ocorre quando um controle de servidor é liberado da memória, que é o último estágio do ciclo de vida de controle de servidor quando uma página ASP.NET é solicitada. (Herdado de Control) |
Init |
Ocorre quando o controle de servidor é inicializado, que é a primeira etapa do ciclo de vida. (Herdado de Control) |
Load |
Ocorre quando o controle de servidor é carregado no objeto Page. (Herdado de Control) |
PreRender |
Ocorre depois que o objeto Control é carregado, mas antes da renderização. (Herdado de Control) |
Unload |
Ocorre quando o controle de servidor é descarregado da memória. (Herdado de Control) |
Implantações explícitas de interface
IAttributeAccessor.GetAttribute(String) |
Obtém um atributo do controle da Web com o nome especificado. (Herdado de WebControl) |
IAttributeAccessor.SetAttribute(String, String) |
Define um atributo do controle da Web para o nome e o valor especificados. (Herdado de WebControl) |
ICompositeControlDesignerAccessor.RecreateChildControls() |
Permite ao desenvolvedor de um designer para um controle Part de composição recriar os controles filho do controle na superfície de design. (Herdado de Part) |
IControlBuilderAccessor.ControlBuilder |
Para obter uma descrição desse membro, confira ControlBuilder. (Herdado de Control) |
IControlDesignerAccessor.GetDesignModeState() |
Para obter uma descrição desse membro, confira GetDesignModeState(). (Herdado de Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Para obter uma descrição desse membro, confira SetDesignModeState(IDictionary). (Herdado de Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Para obter uma descrição desse membro, confira SetOwnerControl(Control). (Herdado de Control) |
IControlDesignerAccessor.UserData |
Para obter uma descrição desse membro, confira UserData. (Herdado de Control) |
IDataBindingsAccessor.DataBindings |
Para obter uma descrição desse membro, confira DataBindings. (Herdado de Control) |
IDataBindingsAccessor.HasDataBindings |
Para obter uma descrição desse membro, confira HasDataBindings. (Herdado de Control) |
IExpressionsAccessor.Expressions |
Para obter uma descrição desse membro, confira Expressions. (Herdado de Control) |
IExpressionsAccessor.HasExpressions |
Para obter uma descrição desse membro, confira HasExpressions. (Herdado de Control) |
IParserAccessor.AddParsedSubObject(Object) |
Para obter uma descrição desse membro, confira AddParsedSubObject(Object). (Herdado de Control) |
Métodos de Extensão
FindDataSourceControl(Control) |
Retorna a fonte de dados associada ao controle de dados do controle especificado. |
FindFieldTemplate(Control, String) |
Retorna o modelo do campo para a coluna especificada no contêiner de nomenclatura do controle especificado. |
FindMetaTable(Control) |
Retorna o objeto metatable para o controle que contém dados. |
GetDefaultValues(INamingContainer) |
Obtém a coleção de valores padrão para o controle de dados especificado. |
GetMetaTable(INamingContainer) |
Obtém os metadados de tabela para o controle de dados especificado. |
SetMetaTable(INamingContainer, MetaTable) |
Define os metadados de tabela para o controle de dados especificado. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Define os metadados de tabela e o mapeamento de valores padrão para o controle de dados especificado. |
TryGetMetaTable(INamingContainer, MetaTable) |
Determina se os metadados da tabela estão disponíveis. |
EnableDynamicData(INamingContainer, Type) |
Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado. |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado. |
EnableDynamicData(INamingContainer, Type, Object) |
Habilita o comportamento de Dados Dinâmicos para o controle de dados especificado. |