ImportCatalogPart Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
- Ereditarietà
Esempio
Nell'esempio di codice seguente viene illustrato come usare il ImportCatalogPart controllo dichiarativo e a livello di codice in una pagina Web. L'esempio include quattro parti:
Controllo utente che consente di modificare le modalità di visualizzazione in una pagina web part.
Pagina Web che contiene un CatalogZone controllo e un ImportCatalogPart controllo.
File di codice sorgente che contiene due controlli personalizzati WebPart .
Spiegazione del funzionamento dell'esempio quando si carica la pagina in un browser.
La prima parte di questo esempio di codice è il controllo utente che consente agli utenti di modificare le modalità di visualizzazione in una pagina Web. È consigliabile inserire il codice sorgente seguente in un file e denominarlo Displaymodemenucs.ascx o Displaymodemenuvb.ascx (a seconda della lingua in uso). Per informazioni dettagliate sulle modalità di visualizzazione e una descrizione del codice sorgente in questo controllo, vedere Procedura dettagliata: Modifica delle modalità di visualizzazione in una pagina web part.
<%@ 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 seconda parte dell'esempio di codice è la pagina Web. Nella parte superiore della pagina sono due register
direttive, una per il controllo utente e una per il componente compilato che contiene i due controlli personalizzati WebPart . Si noti che la pagina ha un riferimento dichiarativo al ImportCatalogPart controllo, annidato all'interno della gerarchia appropriata di elementi dichiarativi. Si noti anche che diversi valori delle proprietà vengono assegnati in modo dichiarativo sull'elemento <asp:importcatalogpart>
. Inoltre, il Button1_Click
metodo aggiorna un numero di valori di proprietà nel ImportCatalogPart controllo.
Nel controllo della WebPartZone pagina vengono dichiarati i due controlli personalizzati WebPart . Il <aspSample:userinfowebpart>
controllo ha un exportmode="all"
attributo su di esso. Questo attributo è necessario per consentire agli utenti di esportare un file di descrizione per il controllo, che può quindi essere importato da altri utenti che desiderano importare il controllo usando il file di descrizione.
Nota
Per consentire agli utenti di un'applicazione Web part di esportare un file di descrizione per WebPart i controlli, è necessario abilitare anche la funzionalità di esportazione nell'applicazione Web aggiungendo un enableExport="true"
attributo all'elemento <webParts>
(figlio dell'elemento <system.web>
) nel file Web.config. L'esportazione è disabilitata per impostazione predefinita, quindi se non è ancora stata abilitata l'esportazione per l'applicazione, modificare il file Web.config e farlo ora.
<%@ 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 terza parte dell'esempio di codice è il codice sorgente per i due WebPart controlli. Si noti che alcune proprietà di questi controlli sono contrassegnate con l'attributo WebBrowsable
. Ciò consente al controllo di generare dinamicamente l'interfaccia PropertyGridEditorPart utente per un utente di modificare tali proprietà quando i controlli sono in modalità di modifica. Le proprietà sono contrassegnate anche con un WebDisplayName
attributo, per specificare il testo dell'etichetta visualizzata accanto a ogni controllo nell'interfaccia utente di modifica. Per eseguire l'esempio di codice, è necessario compilare questo codice sorgente. È possibile compilarlo in modo esplicito e inserire l'assembly risultante nella cartella Bin del sito Web o nella global assembly cache. In alternativa, è possibile inserire il codice sorgente nella cartella App_Code del sito, in cui verrà compilato dinamicamente in fase di esecuzione. Questo esempio di codice usa la compilazione dinamica. Per una procedura dettagliata che illustra entrambi i metodi di compilazione, vedere Procedura dettagliata: Sviluppo e uso di un controllo server Web personalizzato.
Il controllo personalizzato chiamato TextDisplayWebPart
viene fatto riferimento nella pagina Web con un <aspSample:TextDisplayWebPart>
elemento. L'altro controllo, denominato UserInfoWebPart
, viene dichiarato anche nella pagina Web inizialmente, anche se verrà rimosso in seguito per illustrare la possibilità di importare un file di descrizione per un controllo.
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
Eseguire ora l'esempio di codice. Caricare la pagina Web in un browser. Il primo passaggio consiste nel modificare il UserInfoWebPart
controllo. Usare il controllo elenco a discesa Modalità di visualizzazione e selezionare Modifica per passare alla pagina in modalità di modifica. Fare clic sul menu verbi del UserInfoWebPart
controllo (la freccia verso il basso nella barra del titolo) e quindi fare clic su Modifica. Quando viene visualizzata l'interfaccia utente di modifica, diversi controlli di modifica vengono visualizzati sotto il UserInfoWebPart
controllo che è possibile usare per modificare i relativi valori di campo. Modificare alcuni campi, fare clic su OK e quindi usare l'elenco a discesa Modalità visualizzazione per restituire la pagina in modalità di esplorazione.
Il secondo passaggio consiste nell'esportare un oggetto . File di descrizione WebPart per il UserInfoWebPart
controllo. Fare clic sul menu verbi sul controllo personalizzato (rappresentato dalla freccia verso il basso nella barra del titolo) e fare clic su Esporta. Seguire le istruzioni per salvare un oggetto . File di descrizione WebPart per il controllo. Chiudere ora la pagina Web e modificare l'origine della pagina in un editor. Eliminare l'elemento dichiarazione di <aspSample:userinfowebpart>
controllo, quindi salvare e chiudere il file. Questo passaggio consente di simulare un utente che non ha ancora il UserInfoWebPart
controllo, in modo da poter importare il controllo nella pagina.
Caricare di nuovo la pagina Web in un browser. Il UserInfoWebPart
controllo non dovrebbe essere visualizzato, perché è stato rimosso. Usare il controllo elenco a discesa Modalità visualizzazione e selezionare Catalogo per passare alla modalità catalogo.
ImportCatalogPart Nel controllo fare clic sul pulsante Sfoglia e passare a . File WebPart creato, quindi fare clic sul pulsante Carica. Un riferimento al controllo deve essere visualizzato con una casella di controllo accanto. Selezionare la casella di controllo, quindi fare clic su Aggiungi per aggiungere il controllo alla pagina.
Mentre si è in questa visualizzazione della pagina, fare clic sul pulsante Update ImportCatalogPart nella parte inferiore della pagina per visualizzare l'effetto dell'aggiornamento a livello di codice di un numero di valori delle proprietà nel ImportCatalogPart controllo. Dopo aver fatto clic sul pulsante, osservare come vengono modificate le varie proprietà nell'interfaccia utente.
Infine, fare clic su Chiudi per uscire dalla modalità catalogo e restituire la pagina per la modalità di esplorazione. Il UserInfoWebPart
controllo dovrebbe ora essere visualizzato nella pagina contenente i valori che aveva quando è stato esportato in precedenza.
Commenti
Il ImportCatalogPart controllo consente agli utenti di importare un file di descrizione che descrive le impostazioni in un WebPart controllo o un controllo server che un utente vuole aggiungere a una WebPartZoneBase zona.
Dopo che un utente importa un file di descrizione, il controllo a cui fa riferimento nel WebPart file viene visualizzato all'interno del ImportCatalogPart controllo e un utente può aggiungere il controllo alla pagina.
Il file di descrizione non è uguale al controllo stesso. Si tratta di un file XML che termina con un oggetto . Estensione WebPart e contiene coppie nome/valore, per lo più valori delle proprietà, che descrivono lo stato del controllo. Il file di descrizione viene creato in base a un formato XML specificato, come descritto nell'argomento Web part Control Description Files.
Come per il controllo a cui fa riferimento il file di descrizione, può essere compilato in un assembly oppure può essere un controllo utente definito in un file ascx. In entrambi i casi, il controllo a cui fa riferimento in un file di descrizione importato deve esistere nel server Web che ospita la pagina che tenta di importare il controllo. Il file di descrizione fa riferimento al nome del controllo e all'assembly (o al file) che contiene il controllo e il file di descrizione contiene impostazioni che influiscono sui valori delle proprietà del controllo, sull'aspetto e sul comportamento.
Il ImportCatalogPart controllo consente agli utenti di condividere le impostazioni sui controlli. Un controllo complesso può avere molte proprietà e impostazioni. Ad esempio, in un sito Intranet tipico all'interno di un'azienda di grandi dimensioni, un controllo personalizzato WebPart potrebbe contenere un numero di proprietà che contengono valori specifici dell'ambiente degli utenti, ad esempio le connessioni di database, le informazioni di reparto e così via. Il controllo può contenere anche una serie di proprietà che influiscono sull'aspetto. Un utente può personalizzare il controllo in un sito specifico e usarlo correttamente, esportare correttamente un file di descrizione per il controllo e quindi condividere il file di descrizione con altri utenti, che possono importare il file per aggiungere il controllo completamente configurato ad altri siti Intranet autorizzati a personalizzare. Purché il file di controllo utente o assembly compilato contenente il controllo esista nel server Web che ospita il sito, gli utenti possono aggiungere il controllo ad altri siti Web.
Il meccanismo per cui gli utenti importano un file di descrizione (e quindi il relativo controllo server associato) in una pagina Web è il ImportCatalogPart controllo, che uno sviluppatore di pagine deve aggiungere a una pagina Web. Quando un utente passa la pagina alla modalità di visualizzazione del catalogo, viene visualizzato il ImportCatalogPart controllo e l'utente può usare questo controllo per passare a . File di descrizione WebPart corrispondente al controllo server che desidera importare. Seguendo l'interfaccia utente e le istruzioni fornite dal ImportCatalogPart controllo, un utente è in grado di aggiungere il controllo server desiderato nella pagina Web, con l'aspetto e le proprietà completamente configurate come specificato nel file di descrizione importato.
Prima che sia possibile importare un file di descrizione di un WebPart controllo, un utente deve prima creare (esportare) il file in base a un controllo esistente WebPart . Un file di descrizione può essere esportato per un controllo se vengono soddisfatte le condizioni seguenti:
Il controllo ha proprietà contrassegnate con l'attributo
Personalizable
.Il file Web.config ha il
enableExport
valore dell'attributo impostato sutrue
sull'elemento<webParts>
.Uno sviluppatore imposta il valore della ExportMode proprietà sul controllo su un valore diverso dal valore predefinito di None, che impedisce l'esportazione. Se il valore della ExportMode proprietà è impostato su NonSensitiveData, qualsiasi proprietà contenente un parametro con un IsSensitive
Personalizable
attributo non viene esportata quando un utente esporta un file di descrizione. Ciò consente agli sviluppatori di controllare di impedire l'esportazione di dati sensibili, ad esempio stringhe di connessione, in determinate situazioni.
Un utente può esportare un controllo abilitato per l'esportazione facendo clic sul verbo di esportazione visualizzato nel menu verbi del controllo e seguendo le istruzioni per salvare un oggetto . File di descrizione WebPart per il controllo. Altri utenti possono quindi importare questo file per configurare le proprie istanze del controllo.
La ImportCatalogPart classe contiene diverse proprietà. La BrowseHelpText proprietà contiene testo con istruzioni per gli utenti quando esplorano per individuare il file di descrizione. La ImportedPartLabelText proprietà contiene testo che funge da etichetta per il controllo importato come visualizzato all'interno del ImportCatalogPart controllo. Contiene PartImportErrorLabelText il testo visualizzato se si verifica un errore quando viene importata una descrizione del controllo. La Title proprietà esegue l'override della proprietà di base per assegnare un titolo predefinito per un ImportCatalogPart controllo se lo sviluppatore non assegna un titolo. La UploadButtonText proprietà contiene il testo per il pulsante che l'utente fa clic per caricare il file di descrizione e la UploadHelpText proprietà contiene le istruzioni per il processo di caricamento.
La ImportCatalogPart classe contiene anche diversi metodi univoci. Il GetAvailableWebPartDescriptions metodo recupera un oggetto per ogni controllo nel catalogo, che consente a un WebPartDescriptionImportCatalogPart controllo di visualizzare informazioni su ogni WebPart controllo server senza dover creare un'istanza di esso. Il GetWebPart metodo ottiene un'istanza di un determinato WebPart controllo, in base alla descrizione passata al metodo.
Esistono alcuni rischi intrinseci associati all'uso del ImportCatalogPart controllo. Un esempio è la possibilità di importare dati dannosi nell'applicazione Web tramite i file di descrizione usati per l'importazione. Se un utente ha inserito codice script dannoso come valore di una proprietà stringa nel file di descrizione, tale script potrebbe essere eseguito potenzialmente quando un utente importa il file di descrizione e aggiunge il controllo server di riferimento a una pagina Web. Per ridurre al minimo il rischio di importare file di descrizione con dati dannosi, i controlli server con proprietà con tipi di stringa devono sempre codificare i dati delle proprietà. Un altro rischio comporta l'importazione di tipi tramite file di descrizione (vedere Web part Control Description Files). Un utente malintenzionato potrebbe inviare richieste per caricare molti assembly in AppDomain, con conseguente utilizzo eccessivo di memoria.
Per evitare i rischi associati all'importazione, è possibile disabilitare completamente la funzionalità non usando la funzionalità di importazione o il ImportCatalogPart controllo . In alternativa, è possibile limitare gli utenti che hanno accesso al controllo. È possibile eseguire questa operazione a livello di codice usando la gestione dei ruoli. Vedere Gestione dell'autorizzazione tramite i ruoli. Ad esempio, quando la pagina viene caricata, è possibile verificare se un utente è in un determinato ruolo, ad esempio il ruolo di amministratore. Se l'utente è nel ruolo, è possibile aggiungere il ImportCatalogPart controllo a livello di codice alla pagina per l'utente. È anche possibile usare un approccio dichiarativo per limitare il set di utenti che possono usare il ImportCatalogPart controllo . All'interno della pagina Web che contiene un catalogo, è possibile inserire due CatalogZone controlli: uno per gli utenti che possono importare e uno per gli utenti che non possono eseguire l'importazione. La zona per gli utenti che possono importare conterrà il ImportCatalogPart controllo . La zona stessa può essere inserita all'interno di un LoginView controllo, che consente di limitare l'uso del controllo nella zona solo a utenti o ruoli autenticati specificati.
Costruttori
ImportCatalogPart() |
Inizializza una nuova istanza della classe ImportCatalogPart. |
Proprietà
AccessKey |
Ottiene o imposta il tasto di scelta che consente di accedere rapidamente al controllo server Web. (Ereditato da WebControl) |
Adapter |
Ottiene l'adattatore specifico del browser per il controllo. (Ereditato da Control) |
AppRelativeTemplateSourceDirectory |
Ottiene o imposta la directory virtuale relativa all'applicazione dell'oggetto Page o UserControl contenente questo controllo. (Ereditato da Control) |
Attributes |
Ottiene l'insieme di attributi arbitrari (solo per il rendering) che non corrispondono alle proprietà del controllo. (Ereditato da WebControl) |
BackColor |
Ottiene o imposta il colore di sfondo del controllo server Web. (Ereditato da WebControl) |
BackImageUrl |
Ottiene o imposta l'URL dell'immagine di sfondo per il controllo pannello. (Ereditato da Panel) |
BindingContainer |
Ottiene il controllo contenente l'associazione dati del controllo corrente. (Ereditato da Control) |
BorderColor |
Ottiene o imposta il colore del bordo del controllo Web. (Ereditato da WebControl) |
BorderStyle |
Ottiene o imposta lo stile del bordo del controllo server Web. (Ereditato da WebControl) |
BorderWidth |
Ottiene o imposta la larghezza del bordo del controllo server Web. (Ereditato da WebControl) |
BrowseHelpText |
Ottiene o imposta un messaggio di testo che indica agli utenti di selezionare il percorso di un file di descrizione. |
ChildControlsCreated |
Ottiene un valore che indica se i controlli figli del controllo server sono stati creati. (Ereditato da Control) |
ChromeState |
Ottiene o imposta un controllo di parte in stato normale o ridotto a icona. (Ereditato da Part) |
ChromeType |
Ottiene o imposta il tipo di bordo che delimita un controllo Web part. (Ereditato da Part) |
ClientID |
Ottiene l'ID di controllo per il markup HTML generato da ASP.NET. (Ereditato da Control) |
ClientIDMode |
Ottiene o imposta l'algoritmo utilizzato per generare il valore della proprietà ClientID. (Ereditato da Control) |
ClientIDSeparator |
Ottiene un carattere che rappresenta il separatore utilizzato nella proprietà ClientID. (Ereditato da Control) |
Context |
Ottiene l'oggetto HttpContext associato al controllo server per la richiesta Web corrente. (Ereditato da Control) |
Controls |
Ottiene un oggetto ControlCollection che contiene i controlli figlio per un controllo server specificato nella gerarchia dell'interfaccia utente. (Ereditato da Part) |
ControlStyle |
Ottiene lo stile del controllo server Web. Questa proprietà viene usata principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
ControlStyleCreated |
Ottiene un valore che indica se è stato creato un oggetto Style per la proprietà ControlStyle. Questa proprietà viene utilizzata principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
CssClass |
Ottiene o imposta la classe CSS (Cascading Style Sheet) di cui viene eseguito il rendering tramite il controllo server Web sul client. (Ereditato da WebControl) |
DataItemContainer |
Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataItemContainer. (Ereditato da Control) |
DataKeysContainer |
Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataKeysControl. (Ereditato da Control) |
DefaultButton |
Ottiene o imposta il pulsante dell'interfaccia utente da considerare come il pulsante predefinito che riceve lo stato attivo quando viene eseguito il rendering del form contenente il pulsante. Questa proprietà non è destinata a essere chiamata dal codice dello sviluppatore di pagine. |
Description |
Ottiene o imposta una breve frase che riepiloga la funzione del controllo di parte da utilizzare nelle descrizioni comando e nei cataloghi dei controlli di parte. (Ereditato da Part) |
DesignMode |
Ottiene un valore che indica se un controllo viene utilizzato in un'area di progettazione. (Ereditato da Control) |
Direction |
Ottiene o imposta la direzione nella quale visualizzare i controlli che includono testo in un controllo Panel. (Ereditato da Panel) |
DisplayTitle |
Ottiene una stringa che contiene il titolo corrente effettivo di un controllo CatalogPart. (Ereditato da CatalogPart) |
Enabled |
Ottiene o imposta un valore che indica se il controllo server Web è abilitato. (Ereditato da WebControl) |
EnableTheming |
Ottiene o imposta un valore che indica se al controllo vengono applicati i temi. (Ereditato da WebControl) |
EnableViewState |
Ottiene o imposta un valore che indica se lo stato di visualizzazione del controllo server deve essere persistente e lo stato di visualizzazione dei controlli figlio contenuti, per il client richiedente. (Ereditato da Control) |
Events |
Ottiene un elenco dei delegati del gestore eventi per il controllo. Questa proprietà è di sola lettura. (Ereditato da Control) |
Font |
Ottiene le proprietà del carattere associate al controllo server Web. (Ereditato da WebControl) |
ForeColor |
Ottiene o imposta il colore di primo piano, in genere il colore del testo, del controllo server Web. (Ereditato da WebControl) |
GroupingText |
Ottiene o imposta la didascalia del gruppo di controlli contenuto nel controllo pannello. (Ereditato da Panel) |
HasAttributes |
Ottiene un valore che indica se sono impostati attributi per il controllo. (Ereditato da WebControl) |
HasChildViewState |
Ottiene un valore che indica se per i controlli figlio del controllo server corrente esistono impostazioni dello stato di visualizzazione salvate. (Ereditato da Control) |
Height |
Ottiene o imposta l'altezza del controllo server Web. (Ereditato da WebControl) |
HorizontalAlign |
Ottiene o imposta l'allineamento orizzontale del contenuto all'interno del pannello. (Ereditato da Panel) |
ID |
Ottiene o imposta l'identificatore a livello di codice assegnato al controllo server. (Ereditato da Control) |
IdSeparator |
Ottiene il carattere utilizzato per separare gli identificatori di controllo. (Ereditato da Control) |
ImportedPartLabelText |
Ottiene o imposta il testo che viene visualizzato in seguito all'importazione di un file di descrizione per rappresentare o descrivere il controllo importato nell'apposito catalogo. |
IsChildControlStateCleared |
Ottiene un valore che indica se i controlli contenuti in questo controllo dispongono di informazioni sullo stato del controllo. (Ereditato da Control) |
IsEnabled |
Ottiene un valore che indica se il controllo è abilitato. (Ereditato da WebControl) |
IsTrackingViewState |
Ottiene un valore che indica se il controllo server salva le modifiche allo stato di visualizzazione. (Ereditato da Control) |
IsViewStateEnabled |
Ottiene un valore che indica se lo stato di visualizzazione è attivato per il controllo corrente. (Ereditato da Control) |
LoadViewStateByID |
Ottiene un valore che indica se il controllo prende parte al caricamento del proprio stato di visualizzazione tramite ID anziché tramite l'indice. (Ereditato da Control) |
NamingContainer |
Ottiene un riferimento al contenitore dei nomi del controllo server, che crea uno spazio dei nomi univoco per distinguere i controlli server che hanno lo stesso valore della proprietà ID. (Ereditato da Control) |
Page |
Ottiene un riferimento all'istanza Page che contiene il controllo server. (Ereditato da Control) |
Parent |
Ottiene un riferimento al controllo padre del controllo server nella gerarchia dei controlli della pagina. (Ereditato da Control) |
PartImportErrorLabelText |
Ottiene o imposta un messaggio di errore che viene visualizzato se si verifica un errore durante il processo di importazione. |
RenderingCompatibility |
Ottiene un valore che specifica la versione di ASP.NET con cui sarà compatibile il codice HTML di cui è stato eseguito il rendering. (Ereditato da Control) |
ScrollBars |
Ottiene o imposta la visibilità e la posizione delle barre di scorrimento in un controllo Panel. (Ereditato da Panel) |
Site |
Ottiene informazioni sul contenitore del controllo corrente quando viene eseguito il rendering in un'area di progettazione. (Ereditato da Control) |
SkinID |
Ottiene o imposta l'interfaccia personalizzata da applicare al controllo. (Ereditato da WebControl) |
Style |
Ottiene un insieme di attributi di testo di cui verrà eseguito il rendering sotto forma di attributo di stile nel tag esterno del controllo server Web. (Ereditato da WebControl) |
SupportsDisabledAttribute |
Ottiene un valore che indica se il controllo deve impostare l'attributo |
TabIndex |
Ottiene o imposta l'indice di tabulazione del controllo server Web. (Ereditato da WebControl) |
TagKey |
Ottiene il valore HtmlTextWriterTag corrispondente al controllo server Web. Questa proprietà viene usata principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
TagName |
Ottiene il nome del tag del controllo. Questa proprietà viene usata principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
TemplateControl |
Ottiene o imposta un riferimento al modello che contiene il controllo. (Ereditato da Control) |
TemplateSourceDirectory |
Ottiene la directory virtuale dell'oggetto Page o dell'oggetto UserControl che contiene il controllo server corrente. (Ereditato da Control) |
Title |
Ottiene o imposta il titolo visualizzato sulla barra del titolo di un controllo ImportCatalogPart. |
ToolTip |
Ottiene o imposta il testo visualizzato quando il puntatore del mouse viene posizionato sul controllo server Web. (Ereditato da WebControl) |
UniqueID |
Ottiene l'identificatore univoco qualificato gerarchicamente per il controllo server. (Ereditato da Control) |
UploadButtonText |
Ottiene o imposta il testo per il controllo Button che avvia il caricamento di un file di descrizione. |
UploadHelpText |
Ottiene o imposta il testo del messaggio che comunica all'utente come caricare un file di descrizione. |
ValidateRequestMode |
Ottiene o imposta un valore che indica se il controllo verifica la presenza di valori potenzialmente pericolosi nell'input proveniente dal browser. (Ereditato da Control) |
ViewState |
Ottiene un dizionario di informazioni sullo stato che permette di salvare e ripristinare lo stato di visualizzazione di un controllo server attraverso più richieste per la stessa pagina. (Ereditato da Control) |
ViewStateIgnoresCase |
Ottiene un valore che indica se l'oggetto StateBag non effettua la distinzione tra maiuscole e minuscole. (Ereditato da Control) |
ViewStateMode |
Ottiene o imposta la modalità dello stato, visualizzazione di questo controllo. (Ereditato da Control) |
Visible |
Ottiene o imposta un valore che indica se viene eseguito il rendering di un controllo server come interfaccia utente nella pagina. (Ereditato da Control) |
WebPartManager |
Ottiene un riferimento all'istanza corrente della classe WebPartManager. (Ereditato da CatalogPart) |
Width |
Ottiene o imposta la larghezza del controllo server Web. (Ereditato da WebControl) |
Wrap |
Ottiene o imposta un valore che indica se il contenuto va a capo nel pannello. (Ereditato da Panel) |
Zone |
Ottiene un riferimento alla zona CatalogZoneBase che contiene un controllo CatalogPart. (Ereditato da CatalogPart) |
Metodi
AddAttributesToRender(HtmlTextWriter) |
Aggiunge all'elenco degli attributi di cui eseguire il rendering informazioni sull'immagine di sfondo, l'allineamento, il ritorno a capo e la direzione. (Ereditato da Panel) |
AddedControl(Control, Int32) |
Chiamato dopo che un controllo figlio viene aggiunto alla raccolta Controls dell'oggetto Control. (Ereditato da Control) |
AddParsedSubObject(Object) |
Notifica al controllo server che un elemento, XML o HTML, è stato analizzato e aggiunge l'elemento all'oggetto ControlCollection del controllo server. (Ereditato da Control) |
ApplyStyle(Style) |
Copia tutti gli elementi non vuoti dello stile specificato nel controllo Web, sovrascrivendo eventuali elementi di stile del controllo. Il metodo viene utilizzato principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
ApplyStyleSheetSkin(Page) |
Applica al controllo le proprietà di stile definite nel foglio di stile della pagina. (Ereditato da Control) |
BeginRenderTracing(TextWriter, Object) |
Inizia la traccia in fase di progettazione dei dati di rendering. (Ereditato da Control) |
BuildProfileTree(String, Boolean) |
Raccoglie informazioni sul controllo server e le recapita alla proprietà Trace in modo che vengano visualizzate quando è attivata la tracciatura per la pagina. (Ereditato da Control) |
ClearCachedClientID() |
Imposta il valore memorizzato nella cache ClientID su |
ClearChildControlState() |
Elimina le informazioni sullo stato del controllo per i controlli figlio del controllo server. (Ereditato da Control) |
ClearChildState() |
Elimina le informazioni sullo stato di visualizzazione e sullo stato del controllo per tutti i controlli figlio del controllo server. (Ereditato da Control) |
ClearChildViewState() |
Elimina le informazioni sullo stato di visualizzazione per tutti i controlli figlio del controllo server. (Ereditato da Control) |
ClearEffectiveClientIDMode() |
Imposta la proprietà ClientIDMode dell'istanza del controllo corrente e di tutti i controlli figlio su Inherit. (Ereditato da Control) |
CopyBaseAttributes(WebControl) |
Copia le proprietà non incapsulate dall'oggetto Style dal controllo server Web specificato al controllo server Web dal quale è stato chiamato il metodo. Questo metodo viene utilizzato principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
CreateChildControls() |
Viene chiamato dal framework della pagina ASP.NET per notificare ai controlli server che usano un'implementazione basata sulla composizione di creare gli eventuali controlli figlio in essi contenuti in preparazione per il postback o il rendering. (Ereditato da Control) |
CreateControlCollection() |
Crea un nuovo oggetto ControlCollection per contenere i controlli figlio (valore letterale e server) del controllo del server. (Ereditato da Control) |
CreateControlStyle() |
Crea un oggetto stile usato internamente dal controllo Panel per implementare tutte le proprietà correlate allo stile. (Ereditato da Panel) |
DataBind() |
Associa un'origine dati al controllo server richiamato e a tutti i controlli figlio. (Ereditato da Part) |
DataBind(Boolean) |
Associa un'origine dati al controllo server chiamato e ai relativi controlli figlio con un'opzione per generare l'evento DataBinding. (Ereditato da Control) |
DataBindChildren() |
Associa un'origine dati al controllo server e ai relativi controlli figlio. (Ereditato da Control) |
Dispose() |
Abilita un controllo server alla pulizia finale prima che venga rilasciato dalla memoria. (Ereditato da Control) |
EndRenderTracing(TextWriter, Object) |
Termina la traccia in fase di progettazione dei dati di rendering. (Ereditato da Control) |
EnsureChildControls() |
Determina se il controllo server contiene controlli figlio. In caso contrario, li crea. (Ereditato da Control) |
EnsureID() |
Crea un identificatore per i controlli a cui non è assegnato alcun identificatore. (Ereditato da Control) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FindControl(String) |
Cerca un controllo server nel contenitore dei nomi corrente con il parametro |
FindControl(String, Int32) |
Cerca nel contenitore di denominazione corrente un controllo server con il parametro |
Focus() |
Imposta lo stato attivo per l'input su un controllo. (Ereditato da Control) |
GetAvailableWebPartDescriptions() |
Restituisce un insieme di descrizioni dei controlli WebPart disponibili in un catalogo. |
GetDesignModeState() |
Recupera lo stato corrente della zona padre di un controllo CatalogPart. (Ereditato da CatalogPart) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetRouteUrl(Object) |
Ottiene l'URL corrispondente a un set di parametri di route. (Ereditato da Control) |
GetRouteUrl(RouteValueDictionary) |
Ottiene l'URL corrispondente a un set di parametri di route. (Ereditato da Control) |
GetRouteUrl(String, Object) |
Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route. (Ereditato da Control) |
GetRouteUrl(String, RouteValueDictionary) |
Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route. (Ereditato da Control) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
GetUniqueIDRelativeTo(Control) |
Restituisce la parte con prefisso della proprietà UniqueID del controllo specificato. (Ereditato da Control) |
GetWebPart(WebPartDescription) |
Restituisce un riferimento a un controllo WebPart basato sui valori della descrizione passata nel metodo. |
HasControls() |
Determina se il controllo server contiene controlli figlio. (Ereditato da Control) |
HasEvents() |
Restituisce un valore che indica se gli eventi vengono registrati per il controllo o eventuali controlli figlio. (Ereditato da Control) |
IsLiteralContent() |
Determina se il controllo server conserva solo il contenuto literal. (Ereditato da Control) |
LoadControlState(Object) |
Ripristina le informazioni sullo stato del controllo da una richiesta di pagina precedente salvata dal metodo SaveControlState(). (Ereditato da Control) |
LoadViewState(Object) |
Ripristina informazioni sullo stato della visualizzazione da una richiesta precedente salvata con il metodo SaveViewState(). (Ereditato da WebControl) |
MapPathSecure(String) |
Recupera il percorso fisico al quale è associato un percorso virtuale, assoluto o relativo. (Ereditato da Control) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MergeStyle(Style) |
Copia tutti gli elementi non vuoti dello stile specificato nel controllo Web, ma non sovrascrive eventuali elementi di stile del controllo. Questo metodo viene utilizzato principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
OnBubbleEvent(Object, EventArgs) |
Determina se l'evento per il controllo server viene passato a un livello superiore nella gerarchia dei controlli server dell'interfaccia utente per la pagina. (Ereditato da Control) |
OnDataBinding(EventArgs) |
Genera l'evento DataBinding. (Ereditato da Control) |
OnInit(EventArgs) |
Genera l'evento Init. (Ereditato da Control) |
OnLoad(EventArgs) |
Genera l'evento Load. (Ereditato da Control) |
OnPreRender(EventArgs) |
Genera l'evento PreRender. (Ereditato da CatalogPart) |
OnUnload(EventArgs) |
Genera l'evento Unload. (Ereditato da Control) |
OpenFile(String) |
Ottiene un oggetto Stream utilizzato per leggere un file. (Ereditato da Control) |
RaiseBubbleEvent(Object, EventArgs) |
Assegna eventuali origini dell'evento e relative informazioni al controllo padre. (Ereditato da Control) |
RemovedControl(Control) |
Chiamato dopo che un controllo figlio viene rimosso dalla raccolta Controls dell'oggetto Control. (Ereditato da Control) |
Render(HtmlTextWriter) |
Esegue il rendering del controllo nel writer HTML specificato. (Ereditato da WebControl) |
RenderBeginTag(HtmlTextWriter) |
Esegue il rendering del tag HTML di apertura del controllo Panel nel writer specificato. (Ereditato da Panel) |
RenderChildren(HtmlTextWriter) |
Restituisce il contenuto degli elementi figlio di un controllo server a un oggetto HtmlTextWriter specificato, che scrive il contenuto di cui eseguire il rendering nel client. (Ereditato da Control) |
RenderContents(HtmlTextWriter) |
Esegue il rendering del contenuto del controllo nel writer specificato. Questo metodo viene utilizzato principalmente dagli sviluppatori di controlli. (Ereditato da WebControl) |
RenderControl(HtmlTextWriter) |
Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato e archivia le informazioni di traccia relative al controllo se la funzionalità di traccia è abilitata. (Ereditato da Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato utilizzando un oggetto ControlAdapter specificato. (Ereditato da Control) |
RenderEndTag(HtmlTextWriter) |
Esegue il rendering del tag HTML di chiusura del controllo Panel nel writer specificato. (Ereditato da Panel) |
ResolveAdapter() |
Ottiene l'adattatore del controllo responsabile del rendering del controllo specificato. (Ereditato da Control) |
ResolveClientUrl(String) |
Ottiene un URL che può essere utilizzato dal browser. (Ereditato da Control) |
ResolveUrl(String) |
Converte un URL in un formato utilizzabile dal client richiedente. (Ereditato da Control) |
SaveControlState() |
Salva tutte le modifiche dello stato di un controllo server apportate dopo il postback della pagina nel server. (Ereditato da Control) |
SaveViewState() |
Salva qualsiasi stato modificato dopo la chiamata del metodo TrackViewState(). (Ereditato da WebControl) |
SetDesignModeState(IDictionary) |
Imposta i dati della fase di progettazione per un controllo. (Ereditato da CatalogPart) |
SetRenderMethodDelegate(RenderMethod) |
Assegna un delegato del gestore eventi per eseguire il rendering del controllo server e del relativo contenuto nel controllo padre. (Ereditato da Control) |
SetTraceData(Object, Object) |
Imposta i dati di traccia per la traccia durante la fase di progettazione dei dati di rendering, utilizzando la chiave dei dati di traccia e il valore dei dati di traccia. (Ereditato da Control) |
SetTraceData(Object, Object, Object) |
Imposta i dati di traccia per la traccia durante la fase di progettazione dei dati di rendering, utilizzando l'oggetto tracciato, la chiave dei dati di traccia e il valore dei dati di traccia. (Ereditato da Control) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
TrackViewState() |
Indica al controllo di tenere traccia delle modifiche apportate allo proprio stato di visualizzazione in modo che tali modifiche possano essere archiviate nella proprietà ViewState dell'oggetto. (Ereditato da WebControl) |
Eventi
DataBinding |
Viene generato quando il controllo server viene associato a un'origine dati. (Ereditato da Control) |
Disposed |
Si verifica quando un controllo server viene rilasciato dalla memoria, ossia nell'ultima fase della durata di un controllo server quando viene richiesta una pagina ASP.NET. (Ereditato da Control) |
Init |
Viene generato quando il controllo server viene inizializzato, ovvero nella prima fase della sua durata. (Ereditato da Control) |
Load |
Viene generato quando il controllo server è caricato nell'oggetto Page. (Ereditato da Control) |
PreRender |
Si verifica dopo il caricamento dell'oggetto Control ma prima del rendering. (Ereditato da Control) |
Unload |
Viene generato quando il controllo server viene scaricato dalla memoria. (Ereditato da Control) |
Implementazioni dell'interfaccia esplicita
IAttributeAccessor.GetAttribute(String) |
Ottiene un attributo del controllo Web con il nome specificato. (Ereditato da WebControl) |
IAttributeAccessor.SetAttribute(String, String) |
Imposta un attributo del controllo Web sul nome e il valore specificati. (Ereditato da WebControl) |
ICompositeControlDesignerAccessor.RecreateChildControls() |
Consente allo sviluppatore di una finestra di progettazione per un controllo di parte composito di creare nuovamente i controlli figlio sull'area di progettazione. (Ereditato da Part) |
IControlBuilderAccessor.ControlBuilder |
Per una descrizione di questo membro, vedere ControlBuilder. (Ereditato da Control) |
IControlDesignerAccessor.GetDesignModeState() |
Per una descrizione di questo membro, vedere GetDesignModeState(). (Ereditato da Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Per una descrizione di questo membro, vedere SetDesignModeState(IDictionary). (Ereditato da Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Per una descrizione di questo membro, vedere SetOwnerControl(Control). (Ereditato da Control) |
IControlDesignerAccessor.UserData |
Per una descrizione di questo membro, vedere UserData. (Ereditato da Control) |
IDataBindingsAccessor.DataBindings |
Per una descrizione di questo membro, vedere DataBindings. (Ereditato da Control) |
IDataBindingsAccessor.HasDataBindings |
Per una descrizione di questo membro, vedere HasDataBindings. (Ereditato da Control) |
IExpressionsAccessor.Expressions |
Per una descrizione di questo membro, vedere Expressions. (Ereditato da Control) |
IExpressionsAccessor.HasExpressions |
Per una descrizione di questo membro, vedere HasExpressions. (Ereditato da Control) |
IParserAccessor.AddParsedSubObject(Object) |
Per una descrizione di questo membro, vedere AddParsedSubObject(Object). (Ereditato da Control) |
Metodi di estensione
FindDataSourceControl(Control) |
Restituisce l'origine dati associata al controllo dati per il controllo specificato. |
FindFieldTemplate(Control, String) |
Restituisce il modello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato. |
FindMetaTable(Control) |
Restituisce l'oggetto metatabella per il controllo contenitore dei dati. |
GetDefaultValues(INamingContainer) |
Ottiene l'insieme di valori predefiniti per il controllo dei dati specificato. |
GetMetaTable(INamingContainer) |
Ottiene i metadati della tabella per il controllo dei dati specificato. |
SetMetaTable(INamingContainer, MetaTable) |
Imposta i metadati della tabella per il controllo dei dati specificato. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Imposta il mapping dei valori predefiniti e dei metadati della tabella per il controllo dei dati specificato. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Imposta il mapping dei valori predefiniti e dei metadati della tabella per il controllo dei dati specificato. |
TryGetMetaTable(INamingContainer, MetaTable) |
Determina se sono disponibili i metadati della tabella. |
EnableDynamicData(INamingContainer, Type) |
Abilita il comportamento dati dinamici per il controllo dei dati specificato. |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Abilita il comportamento dati dinamici per il controllo dei dati specificato. |
EnableDynamicData(INamingContainer, Type, Object) |
Abilita il comportamento dati dinamici per il controllo dei dati specificato. |