ImportCatalogPart Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- Héritage
Exemples
L’exemple de code suivant montre comment utiliser le ImportCatalogPart contrôle de manière déclarative et programmatique sur une page web. L’exemple comporte quatre parties :
Contrôle utilisateur qui vous permet de modifier les modes d’affichage d’une page de composants WebPart.
Page web qui contient un CatalogZone contrôle et un ImportCatalogPart contrôle.
Fichier de code source qui contient deux contrôles personnalisés WebPart .
Explication du fonctionnement de l’exemple lorsque vous chargez la page dans un navigateur.
La première partie de cet exemple de code est le contrôle utilisateur qui permet aux utilisateurs de modifier les modes d’affichage sur une page Web. Vous devez placer le code source suivant dans un fichier et le nommer Displaymodemenucs.ascx ou Displaymodemenuvb.ascx (selon la langue que vous utilisez). Pour plus d’informations sur les modes d’affichage et une description du code source dans ce contrôle, consultez Procédure pas à pas : modification des modes d’affichage sur une page de composants WebPart.
<%@ 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 deuxième partie de l’exemple de code est la page Web. En haut de la page se trouvent deux register
directives, l’une pour le contrôle utilisateur et l’autre pour le composant compilé qui contient les deux contrôles personnalisés WebPart . Notez que la page a une référence déclarative au ImportCatalogPart contrôle, imbriquée dans la hiérarchie appropriée d’éléments déclaratifs. Notez également que plusieurs valeurs de propriété sont attribuées de manière déclarative sur l’élément <asp:importcatalogpart>
. En outre, la Button1_Click
méthode met à jour un certain nombre de valeurs de propriété sur le ImportCatalogPart contrôle.
Dans le contrôle de WebPartZone la page, les deux contrôles personnalisés WebPart sont déclarés. Le <aspSample:userinfowebpart>
contrôle a un exportmode="all"
attribut. Cet attribut est requis pour permettre aux utilisateurs d’exporter un fichier de description pour le contrôle, qui peut ensuite être importé par d’autres utilisateurs qui souhaitent importer le contrôle à l’aide du fichier de description.
Notes
Pour permettre aux utilisateurs d’une application De composants WebPart d’exporter un fichier de description pour WebPart les contrôles, vous devez également activer la fonctionnalité d’exportation dans l’application web en ajoutant un enableExport="true"
attribut à l’élément <webParts>
(qui est un enfant de l’élément <system.web>
) dans le fichier Web.config. L’exportation étant désactivée par défaut, si vous n’avez pas encore activé l’exportation pour votre application, modifiez le fichier Web.config et effectuez-le maintenant.
<%@ 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 troisième partie de l’exemple de code est le code source des deux WebPart contrôles. Notez que certaines propriétés de ces contrôles sont marquées avec l’attribut WebBrowsable
. Cela permet au PropertyGridEditorPart contrôle de générer dynamiquement l’interface utilisateur pour qu’un utilisateur modifie ces propriétés lorsque les contrôles sont en mode édition. Les propriétés sont également marquées avec un WebDisplayName
attribut, pour spécifier le texte de l’étiquette qui apparaît en regard de chaque contrôle dans l’interface utilisateur de modification. Pour que l’exemple de code s’exécute, vous devez compiler ce code source. Vous pouvez le compiler explicitement et placer l’assembly résultant dans le dossier Bin de votre site web ou dans le global assembly cache. Vous pouvez également placer le code source dans le dossier App_Code de votre site, où il sera compilé dynamiquement au moment de l’exécution. Cet exemple de code utilise la compilation dynamique. Pour obtenir une procédure pas à pas qui illustre les deux méthodes de compilation, consultez Procédure pas à pas : développement et utilisation d’un contrôle de serveur web personnalisé.
Le contrôle personnalisé appelé TextDisplayWebPart
est référencé dans la page web avec un <aspSample:TextDisplayWebPart>
élément. L’autre contrôle, appelé UserInfoWebPart
, est également déclaré sur la page Web initialement, même si vous le supprimerez ultérieurement pour illustrer la possibilité d’importer un fichier de description pour un contrôle.
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
Exécutez maintenant l’exemple de code. Chargez la page Web dans un navigateur. La première étape consiste à modifier le UserInfoWebPart
contrôle. Utilisez le contrôle de liste déroulante Mode d’affichage et sélectionnez Modifier pour basculer la page en mode édition. Cliquez sur le menu verbes du UserInfoWebPart
contrôle (flèche vers le bas dans la barre de titre), puis cliquez sur Modifier. Lorsque l’interface utilisateur de modification s’affiche, plusieurs contrôles de modification apparaissent sous le UserInfoWebPart
contrôle que vous pouvez utiliser pour modifier ses valeurs de champ. Modifiez certains champs, cliquez sur OK, puis utilisez la liste déroulante Mode d’affichage pour renvoyer le mode de navigation de la page.
La deuxième étape consiste à exporter un . Fichier de description WebPart pour le UserInfoWebPart
contrôle. Cliquez sur le menu verbes du contrôle personnalisé (représenté par la flèche vers le bas dans la barre de titre), puis cliquez sur Exporter. Suivez les instructions pour enregistrer un . Fichier de description WebPart pour le contrôle. Fermez maintenant la page Web, puis modifiez la source de la page dans un éditeur. Supprimez l’élément <aspSample:userinfowebpart>
de déclaration de contrôle, puis enregistrez et fermez le fichier. (Vous effectuez cette étape pour simuler un utilisateur qui n’a pas encore le UserInfoWebPart
contrôle, afin de pouvoir importer le contrôle dans la page).
Chargez à nouveau la page web dans un navigateur. Le UserInfoWebPart
contrôle ne doit pas apparaître, car vous l’avez supprimé. Utilisez le contrôle de liste déroulante Mode d’affichage et sélectionnez Catalogue pour basculer la page en mode catalogue. Dans le ImportCatalogPart contrôle, cliquez sur le bouton Parcourir , puis accédez à . Fichier WebPart que vous avez créé, puis cliquez sur le bouton Charger . Une référence au contrôle doit apparaître avec une case à cocher en regard de celui-ci. Activez la case à cocher, puis cliquez sur Ajouter pour ajouter le contrôle à la page.
Lorsque vous êtes dans cette vue de la page, cliquez sur le bouton Mettre à jour ImportCatalogPart en bas de la page pour voir l’effet de la mise à jour programmatique d’un certain nombre de valeurs de propriété sur le ImportCatalogPart contrôle. Après avoir cliqué sur le bouton, observez comment les différentes propriétés sont modifiées dans l’interface utilisateur.
Enfin, cliquez sur Fermer pour quitter le mode catalogue et retourner la page en mode de navigation. Le UserInfoWebPart
contrôle doit maintenant apparaître dans la page, contenant les valeurs qu’il avait lorsque vous l’avez exporté précédemment.
Remarques
Le ImportCatalogPart contrôle permet aux utilisateurs d’importer un fichier de description qui décrit les paramètres d’un contrôle ou d’un WebPart contrôle serveur qu’un utilisateur souhaite ajouter à une WebPartZoneBase zone.
Une fois qu’un utilisateur a importé un fichier de description, le WebPart contrôle référencé dans le fichier s’affiche dans le ImportCatalogPart contrôle et un utilisateur peut ajouter le contrôle à la page.
Le fichier de description n’est pas identique au contrôle lui-même. Il s’agit d’un fichier XML qui se termine par . Extension WebPart et contient des paires nom/valeur, principalement des valeurs de propriété, qui décrivent l’état du contrôle. Le fichier de description est créé selon un format XML spécifié, comme décrit dans la rubrique Fichiers de description du contrôle des composants WebPart.
Quant au contrôle auquel le fichier de description fait référence, il peut être compilé dans un assembly ou il peut s’agir d’un contrôle utilisateur défini dans un fichier .ascx. Dans les deux cas, le contrôle référencé dans un fichier de description importé doit exister sur le serveur Web qui héberge la page qui tente d’importer le contrôle. Le fichier de description fait référence au nom du contrôle et à l’assembly (ou fichier) qui contient le contrôle, et le fichier de description contient des paramètres qui affectent les valeurs de propriété, l’apparence et le comportement du contrôle.
Le ImportCatalogPart contrôle permet aux utilisateurs de partager des paramètres sur les contrôles. Un contrôle complexe peut avoir de nombreuses propriétés et paramètres. Par exemple, dans un site intranet classique au sein d’une grande entreprise, un contrôle personnalisé WebPart peut contenir un certain nombre de propriétés qui contiennent des valeurs spécifiques à l’environnement des utilisateurs, telles que leurs connexions à la base de données, les informations du service, etc. Le contrôle peut également contenir un certain nombre de propriétés qui affectent son apparence. Un utilisateur peut personnaliser le contrôle sur un site particulier et le faire fonctionner correctement, exporter un fichier de description pour le contrôle, puis partager le fichier de description avec d’autres utilisateurs, qui peuvent importer le fichier pour ajouter le contrôle entièrement configuré sur d’autres sites intranet qu’ils sont autorisés à personnaliser. Tant que l’assembly compilé ou le fichier de contrôle utilisateur contenant le contrôle existe sur le serveur Web qui héberge leur site, les utilisateurs peuvent ajouter le contrôle à d’autres sites Web.
Le mécanisme par lequel les utilisateurs importent un fichier de description (et donc son contrôle serveur associé) dans une page Web est le ImportCatalogPart contrôle, qu’un développeur de pages doit ajouter à une page Web. Lorsqu’un utilisateur bascule la page en mode d’affichage catalogue, le ImportCatalogPart contrôle s’affiche et l’utilisateur peut utiliser ce contrôle pour accéder à . Fichier de description WebPart correspondant au contrôle serveur qu’il souhaite importer. En suivant l’interface utilisateur et les instructions fournies par le ImportCatalogPart contrôle, un utilisateur peut ajouter le contrôle serveur souhaité à la page Web, avec son apparence et ses propriétés entièrement configurées comme spécifié dans le fichier de description importé.
Avant d’importer le fichier de description d’un WebPart contrôle, un utilisateur doit d’abord créer (exporter) le fichier en fonction d’un contrôle existant WebPart . Un fichier de description peut être exporté pour un contrôle si les conditions suivantes sont remplies :
Le contrôle a des propriétés marquées avec l’attribut
Personalizable
.La valeur d’attribut du
enableExport
fichier Web.config est définietrue
sur sur l’élément<webParts>
.Un développeur définit la valeur de la ExportMode propriété sur le contrôle sur une valeur autre que la valeur par défaut de None, ce qui interdit l’exportation. Si la valeur de la ExportMode propriété est définie sur NonSensitiveData, toute propriété qui contient un IsSensitive paramètre avec un
Personalizable
attribut n’est pas exportée lorsqu’un utilisateur exporte un fichier de description. Cela permet aux développeurs de contrôle d’empêcher l’exportation de données sensibles, telles que les chaînes de connexion, dans certaines situations.
Un utilisateur peut exporter un contrôle qui a été activé pour l’exportation en cliquant sur le verbe d’exportation qui apparaît dans le menu verbes du contrôle, puis en suivant les instructions d’enregistrement d’un . Fichier de description WebPart pour le contrôle. D’autres utilisateurs peuvent ensuite importer ce fichier pour configurer leurs propres instances du contrôle.
La ImportCatalogPart classe contient plusieurs propriétés. La BrowseHelpText propriété contient du texte avec des instructions pour les utilisateurs lorsqu’ils recherchent le fichier de description. La ImportedPartLabelText propriété contient du texte qui sert d’étiquette pour le contrôle importé tel qu’il apparaît dans le ImportCatalogPart contrôle. contient le PartImportErrorLabelText texte affiché si une erreur se produit lors de l’importation d’une description de contrôle. La Title propriété remplace la propriété de base pour attribuer un titre par défaut à un ImportCatalogPart contrôle si le développeur n’attribue pas de titre. La UploadButtonText propriété contient le texte du bouton sur lequel l’utilisateur clique pour charger le fichier de description, et la UploadHelpText propriété contient les instructions pour le processus de chargement.
La ImportCatalogPart classe contient également plusieurs méthodes uniques. La GetAvailableWebPartDescriptions méthode récupère un WebPartDescription objet pour chaque WebPart contrôle du catalogue, ce qui permet à un contrôle d’afficher ImportCatalogPart des informations sur chaque contrôle serveur sans avoir à en créer une instance. La GetWebPart méthode obtient une instance d’un contrôle particulier WebPart , en fonction de la description passée à la méthode.
L’utilisation du ImportCatalogPart contrôle comporte certains risques inhérents. Par exemple, il est possible d’importer des données malveillantes dans votre application web via les fichiers de description utilisés pour l’importation. Si quelqu’un a placé du code de script malveillant comme valeur d’une propriété de chaîne dans le fichier de description, ce script peut potentiellement être exécuté lorsqu’un utilisateur importe le fichier de description et ajoute le contrôle serveur référencé à une page Web. Pour réduire le risque d’importation de fichiers de description avec des données malveillantes, les contrôles serveur qui ont des propriétés de type chaîne doivent toujours encoder les données de propriété. Un autre risque consiste à importer des types par le biais de fichiers de description (consultez Fichiers de description de contrôle des composants WebPart). Un utilisateur malveillant peut envoyer des demandes de chargement de nombreux assemblys dans le AppDomain, ce qui entraîne une consommation excessive de mémoire.
Pour éviter les risques associés à l’importation, vous pouvez désactiver complètement la fonctionnalité en n’utilisant pas la fonctionnalité d’importation ou le ImportCatalogPart contrôle. Vous pouvez également limiter les utilisateurs qui ont accès au contrôle. Vous pouvez le faire par programmation, à l’aide de la gestion des rôles (consultez Gestion des autorisations à l’aide de rôles). Par exemple, lorsque la page se charge, vous pouvez tester si un utilisateur est dans un rôle spécifique, tel que le rôle administrateur. Si l’utilisateur est dans le rôle, vous pouvez ajouter le ImportCatalogPart contrôle par programmation à la page de cet utilisateur. Vous pouvez également utiliser une approche déclarative pour limiter l’ensemble d’utilisateurs qui peuvent utiliser le ImportCatalogPart contrôle. Dans votre page web qui contient un catalogue, vous pouvez placer deux CatalogZone contrôles : l’un pour les utilisateurs qui peuvent importer et l’autre pour ceux qui ne le peuvent pas. La zone pour les utilisateurs qui peuvent importer contiendrait le ImportCatalogPart contrôle. La zone elle-même peut être placée à l’intérieur d’un LoginView contrôle, ce qui vous permettrait de limiter l’utilisation du contrôle dans la zone uniquement aux utilisateurs ou rôles authentifiés que vous spécifiez.
Constructeurs
ImportCatalogPart() |
Initialise une nouvelle instance de la classe ImportCatalogPart. |
Propriétés
AccessKey |
Obtient ou définit la touche d'accès rapide qui vous permet de naviguer rapidement vers le contrôle serveur Web. (Hérité de WebControl) |
Adapter |
Obtient l'adaptateur spécifique au navigateur pour le contrôle. (Hérité de Control) |
AppRelativeTemplateSourceDirectory |
Obtient ou définit le répertoire virtuel relatif à l'application de l'objet Page ou UserControl qui contient ce contrôle. (Hérité de Control) |
Attributes |
Obtient la collection d'attributs arbitraires (pour le rendu uniquement) qui ne correspondent pas à des propriétés du contrôle. (Hérité de WebControl) |
BackColor |
Obtient ou définit la couleur d'arrière-plan du contrôle serveur Web. (Hérité de WebControl) |
BackImageUrl |
Obtient ou définit l'URL de l'image d'arrière-plan du contrôle du volet. (Hérité de Panel) |
BindingContainer |
Obtient le contrôle qui contient la liaison de données de ce contrôle. (Hérité de Control) |
BorderColor |
Obtient ou définit la couleur de bordure du contrôle Web. (Hérité de WebControl) |
BorderStyle |
Obtient ou définit le style de bordure du contrôle serveur Web. (Hérité de WebControl) |
BorderWidth |
Obtient ou définit la largeur de bordure du contrôle serveur Web. (Hérité de WebControl) |
BrowseHelpText |
Obtient ou définit un message texte qui demande aux utilisateurs d'accéder à l'emplacement d'un fichier de description. |
ChildControlsCreated |
Obtient une valeur qui indique si des contrôles enfants du contrôle serveur ont été créés. (Hérité de Control) |
ChromeState |
Obtient ou définit si un contrôle Part doit s'afficher dans un état réduit ou normal. (Hérité de Part) |
ChromeType |
Obtient ou définit le type de bordure qui encadre un contrôle WebPart. (Hérité de Part) |
ClientID |
Obtient l’ID de contrôle du balisage HTML généré par ASP.NET. (Hérité de Control) |
ClientIDMode |
Obtient ou définit l'algorithme utilisé pour générer la valeur de la propriété ClientID. (Hérité de Control) |
ClientIDSeparator |
Obtient une valeur de caractère représentant le caractère de séparation utilisé dans la propriété ClientID. (Hérité de Control) |
Context |
Obtient l'objet HttpContext associé au contrôle serveur pour la demande Web en cours. (Hérité de Control) |
Controls |
Obtient un objet ControlCollection qui contient les contrôles enfants d'un contrôle serveur spécifié dans la hiérarchie de l'interface utilisateur. (Hérité de Part) |
ControlStyle |
Obtient le style d'un contrôle serveur Web. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
ControlStyleCreated |
Obtient une valeur indiquant si un objet Style a été créé pour la propriété ControlStyle. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
CssClass |
Obtient ou définit la classe de feuille de style en cascade (CSS, Cascading Style Sheet) rendue par le contrôle serveur Web sur le client. (Hérité de WebControl) |
DataItemContainer |
Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataItemContainer. (Hérité de Control) |
DataKeysContainer |
Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataKeysControl. (Hérité de Control) |
DefaultButton |
Obtient ou définit le bouton dans l'interface utilisateur qui est considéré comme le bouton par défaut qui reçoit le focus lorsque le formulaire contenant le bouton est restitué. Cette propriété n'est pas destinée à être appelée à partir du code du développeur de pages. |
Description |
Obtient ou définit une brève expression qui résume la fonction du contrôle Part, en vue d'une utilisation dans les info-bulles et les catalogues de contrôles Part. (Hérité de Part) |
DesignMode |
Obtient une valeur indiquant si un contrôle est utilisé sur une aire de conception. (Hérité de Control) |
Direction |
Obtient ou définit le sens dans lequel afficher les contrôles qui intègrent du texte dans un contrôle Panel. (Hérité de Panel) |
DisplayTitle |
Obtient une chaîne qui contient le titre actuel réel d'un contrôle CatalogPart. (Hérité de CatalogPart) |
Enabled |
Obtient ou définit une valeur indiquant si le contrôle serveur Web est activé. (Hérité de WebControl) |
EnableTheming |
Obtient ou définit une valeur indiquant si les thèmes s'appliquent à ce contrôle. (Hérité de WebControl) |
EnableViewState |
Obtient ou définit une valeur indiquant si le contrôle serveur conserve son état d’affichage, et l’état d’affichage de tous les contrôles enfants qu’il contient, au client demandeur. (Hérité de Control) |
Events |
Obtient la liste des délégués de gestionnaires d'événements pour le contrôle. Cette propriété est en lecture seule. (Hérité de Control) |
Font |
Obtient les propriétés de police associées au contrôle serveur Web. (Hérité de WebControl) |
ForeColor |
Obtient ou définit la couleur de premier plan (généralement la couleur du texte) du contrôle serveur Web. (Hérité de WebControl) |
GroupingText |
Obtient ou définit la légende du groupe de contrôles qui figure dans le contrôle de panneau. (Hérité de Panel) |
HasAttributes |
Obtient une valeur indiquant si le contrôle a des attributs définis. (Hérité de WebControl) |
HasChildViewState |
Obtient une valeur indiquant si les contrôles enfants du contrôle serveur en cours possèdent des paramètres d'état d'affichage enregistrés. (Hérité de Control) |
Height |
Obtient ou définit la hauteur du contrôle serveur Web. (Hérité de WebControl) |
HorizontalAlign |
Obtient ou définit l'alignement horizontal du contenu dans le volet. (Hérité de Panel) |
ID |
Obtient ou définit l'ID programmatique assigné au contrôle serveur. (Hérité de Control) |
IdSeparator |
Obtient le caractère utilisé pour séparer des identificateurs de contrôle. (Hérité de Control) |
ImportedPartLabelText |
Obtient ou définit le texte affiché lorsqu'un utilisateur importe un fichier de description pour représenter ou décrire le contrôle importé dans le catalogue de contrôles importés. |
IsChildControlStateCleared |
Obtient une valeur indiquant si les contrôles contenus dans ce contrôle utilisent l'état du contrôle. (Hérité de Control) |
IsEnabled |
Obtient une valeur indiquant si le contrôle est activé. (Hérité de WebControl) |
IsTrackingViewState |
Obtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d'affichage. (Hérité de Control) |
IsViewStateEnabled |
Obtient une valeur indiquant si l'état d'affichage est activé pour ce contrôle. (Hérité de Control) |
LoadViewStateByID |
Obtient une valeur indiquant si le contrôle participe au chargement de son état d'affichage par ID et non par index. (Hérité de Control) |
NamingContainer |
Obtient une référence au conteneur d'attribution de noms du contrôle serveur, qui crée un espace de noms unique pour différencier les contrôles serveur dont la propriété ID possède la même valeur. (Hérité de Control) |
Page |
Obtient une référence à l'instance de Page qui contient le contrôle serveur. (Hérité de Control) |
Parent |
Obtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de la page. (Hérité de Control) |
PartImportErrorLabelText |
Obtient ou définit un message d'erreur qui s'affiche si une erreur se produit pendant le processus d'importation. |
RenderingCompatibility |
Obtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible. (Hérité de Control) |
ScrollBars |
Obtient ou définit la visibilité et la position des barres de défilement dans un contrôle Panel. (Hérité de Panel) |
Site |
Obtient des informations sur le conteneur qui héberge le contrôle en cours lorsqu'il est rendu sur une aire de conception. (Hérité de Control) |
SkinID |
Obtient ou définit l’apparence à appliquer au contrôle. (Hérité de WebControl) |
Style |
Obtient une collection d'attributs de texte qui sont rendus en tant qu'attribut de style sur la balise extérieure d'un contrôle serveur Web. (Hérité de WebControl) |
SupportsDisabledAttribute |
Obtient une valeur qui indique si le contrôle doit définir l'attribut |
TabIndex |
Obtient ou définit l'index de tabulation du contrôle serveur Web. (Hérité de WebControl) |
TagKey |
Obtient la valeur HtmlTextWriterTag qui correspond à ce contrôle serveur Web. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
TagName |
Obtient le nom de la balise du contrôle. Cette propriété est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
TemplateControl |
Obtient ou définit une référence au modèle qui contient ce contrôle. (Hérité de Control) |
TemplateSourceDirectory |
Obtient le répertoire virtuel du Page ou du UserControl qui contient le contrôle serveur en cours. (Hérité de Control) |
Title |
Obtient ou définit le titre qui apparaît dans la barre de titre d'un contrôle ImportCatalogPart. |
ToolTip |
Obtient ou définit le texte affiché quand le pointeur de la souris est positionné sur le contrôle serveur Web. (Hérité de WebControl) |
UniqueID |
Obtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur. (Hérité de Control) |
UploadButtonText |
Obtient ou définit le texte pour le contrôle Button qui initialise le transfert d'un fichier de description. |
UploadHelpText |
Obtient ou définit le texte du message qui explique à l'utilisateur comment transférer un fichier de description. |
ValidateRequestMode |
Obtient ou définit une valeur qui indique si le contrôle vérifie l'entrée cliente du navigateur à la recherche de valeurs potentiellement dangereuses. (Hérité de Control) |
ViewState |
Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un contrôle serveur entre plusieurs demandes de la même page. (Hérité de Control) |
ViewStateIgnoresCase |
Obtient une valeur qui indique si l'objet StateBag respecte la casse. (Hérité de Control) |
ViewStateMode |
Obtient ou définit le mode d'état d'affichage de ce contrôle. (Hérité de Control) |
Visible |
Obtient ou définit une valeur qui indique si un contrôle serveur est rendu en tant qu’interface utilisateur sur la page. (Hérité de Control) |
WebPartManager |
Obtient une référence à l'instance actuelle de la classe WebPartManager. (Hérité de CatalogPart) |
Width |
Obtient ou définit la largeur du contrôle serveur web. (Hérité de WebControl) |
Wrap |
Obtient ou définit une valeur indiquant si le contenu est encapsulé dans le volet. (Hérité de Panel) |
Zone |
Obtient une référence à la zone CatalogZoneBase qui contient un contrôle CatalogPart. (Hérité de CatalogPart) |
Méthodes
AddAttributesToRender(HtmlTextWriter) |
Ajoute des informations relatives à l'image d'arrière-plan, à l'alignement, au retour à la ligne et à la direction vers la liste des attributs à rendre. (Hérité de Panel) |
AddedControl(Control, Int32) |
Méthode appelée après qu’un contrôle enfant est ajouté à la collection Controls de l’objet Control. (Hérité de Control) |
AddParsedSubObject(Object) |
Avertit le contrôle serveur qu’un élément XML ou HTML a été analysé, et ajoute l’élément à l’objet ControlCollection du contrôle serveur. (Hérité de Control) |
ApplyStyle(Style) |
Copie tous les éléments non vides du style spécifié vers le contrôle Web, en remplaçant les éléments de style existants du contrôle. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
ApplyStyleSheetSkin(Page) |
Applique les propriétés de style définies dans la feuille de style de la page au contrôle. (Hérité de Control) |
BeginRenderTracing(TextWriter, Object) |
Commence le traçage au moment du design des données de rendu. (Hérité de Control) |
BuildProfileTree(String, Boolean) |
Collecte des informations sur le contrôle serveur et les livre à la propriété Trace à afficher lorsque le traçage est activé pour la page. (Hérité de Control) |
ClearCachedClientID() |
Affecte à la valeur ClientID mise en cache la valeur |
ClearChildControlState() |
Supprime les informations sur l'état du contrôle des contrôles enfants du contrôle serveur. (Hérité de Control) |
ClearChildState() |
Supprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur. (Hérité de Control) |
ClearChildViewState() |
Supprime les informations d'état d'affichage de tous les contrôles enfants du contrôle serveur. (Hérité de Control) |
ClearEffectiveClientIDMode() |
Affecte la valeur ClientIDMode à la propriété Inherit de l'instance de contrôle actuelle et de tous contrôles enfants. (Hérité de Control) |
CopyBaseAttributes(WebControl) |
Copie les propriétés non encapsulées par l'objet Style du contrôle serveur Web spécifié vers le contrôle serveur Web à partir duquel cette méthode est appelée. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
CreateChildControls() |
Appelée par l’infrastructure de page ASP.NET pour signaler aux contrôles serveur qu’ils doivent utiliser l’implémentation basée sur la composition pour créer les contrôles enfants qu’ils contiennent en vue de la publication ou du rendu. (Hérité de Control) |
CreateControlCollection() |
Crée un objet ControlCollection pour contenir les contrôles enfants (littéraux et serveur) du contrôle serveur. (Hérité de Control) |
CreateControlStyle() |
Crée un objet de style qui est utilisé de manière interne par le contrôle Panel pour implémenter toutes les propriétés associées au style. (Hérité de Panel) |
DataBind() |
Lie une source de données au contrôle serveur appelé et à tous ses contrôles enfants. (Hérité de Part) |
DataBind(Boolean) |
Lie une source de données au contrôle serveur appelé et tous ses contrôles enfants avec une option pour déclencher l'événement DataBinding. (Hérité de Control) |
DataBindChildren() |
Lie une source de données aux contrôles enfants du contrôle serveur. (Hérité de Control) |
Dispose() |
Permet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré de la mémoire. (Hérité de Control) |
EndRenderTracing(TextWriter, Object) |
Met fin au traçage au moment du design des données de rendu. (Hérité de Control) |
EnsureChildControls() |
Détermine si le contrôle serveur contient des contrôles enfants. S'il ne contient pas de contrôles enfants, il en crée. (Hérité de Control) |
EnsureID() |
Crée un identificateur pour les contrôles auxquels aucun identificateur n'est assigné. (Hérité de Control) |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
FindControl(String) |
Recherche un contrôle serveur possédant le paramètre |
FindControl(String, Int32) |
Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l' |
Focus() |
Affecte le focus d'entrée à un contrôle. (Hérité de Control) |
GetAvailableWebPartDescriptions() |
Retourne une collection de descriptions des contrôles WebPart disponibles dans un catalogue. |
GetDesignModeState() |
Récupère l'état actuel d'une zone parente d'un contrôle CatalogPart. (Hérité de CatalogPart) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetRouteUrl(Object) |
Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control) |
GetRouteUrl(RouteValueDictionary) |
Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control) |
GetRouteUrl(String, Object) |
Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control) |
GetRouteUrl(String, RouteValueDictionary) |
Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
GetUniqueIDRelativeTo(Control) |
Retourne la partie préfixée de la propriété UniqueID du contrôle spécifié. (Hérité de Control) |
GetWebPart(WebPartDescription) |
Retourne une référence à un contrôle WebPart en fonction des valeurs de la description passée dans la méthode. |
HasControls() |
Détermine si le contrôle serveur contient des contrôles enfants. (Hérité de Control) |
HasEvents() |
Retourne une valeur indiquant si des événements sont inscrits pour le contrôle ou des contrôles enfants. (Hérité de Control) |
IsLiteralContent() |
Détermine si le contrôle serveur ne détient qu'un contenu littéral. (Hérité de Control) |
LoadControlState(Object) |
Restaure des informations sur l'état du contrôle à partir d'une demande de page antérieure enregistrée par la méthode SaveControlState(). (Hérité de Control) |
LoadViewState(Object) |
Restaure les informations d'état d'affichage d'une demande précédente enregistrée avec la méthode SaveViewState(). (Hérité de WebControl) |
MapPathSecure(String) |
Récupère le chemin d'accès physique auquel un chemin d'accès virtuel, absolu ou relatif, correspond. (Hérité de Control) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
MergeStyle(Style) |
Copie tous les éléments non vides du style spécifié vers le contrôle Web, mais ne remplace aucun élément de style existant du contrôle. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
OnBubbleEvent(Object, EventArgs) |
Détermine si l’événement du contrôle serveur est passé dans la hiérarchie des contrôles serveur de l’interface utilisateur de la page. (Hérité de Control) |
OnDataBinding(EventArgs) |
Déclenche l’événement DataBinding. (Hérité de Control) |
OnInit(EventArgs) |
Déclenche l’événement Init. (Hérité de Control) |
OnLoad(EventArgs) |
Déclenche l’événement Load. (Hérité de Control) |
OnPreRender(EventArgs) |
Déclenche l’événement PreRender. (Hérité de CatalogPart) |
OnUnload(EventArgs) |
Déclenche l’événement Unload. (Hérité de Control) |
OpenFile(String) |
Obtient un Stream utilisé pour lire un fichier. (Hérité de Control) |
RaiseBubbleEvent(Object, EventArgs) |
Assigne les sources éventuelles de l'événement et ses informations au parent du contrôle. (Hérité de Control) |
RemovedControl(Control) |
Méthode appelée après la suppression d’un contrôle enfant de la collection Controls de l’objet Control. (Hérité de Control) |
Render(HtmlTextWriter) |
Génère le rendu du contrôle via le writer HTML spécifié. (Hérité de WebControl) |
RenderBeginTag(HtmlTextWriter) |
Génère le rendu de la balise d'ouverture HTML du contrôle Panel via le writer spécifié. (Hérité de Panel) |
RenderChildren(HtmlTextWriter) |
Produit le contenu des enfants d'un contrôle serveur dans un objet HtmlTextWriter fourni qui écrit le contenu à restituer sur le client. (Hérité de Control) |
RenderContents(HtmlTextWriter) |
Génère le rendu du contenu du contrôle via le writer spécifié. Cette méthode est principalement utilisée par des développeurs de contrôles. (Hérité de WebControl) |
RenderControl(HtmlTextWriter) |
Envoie le contenu du contrôle serveur à un objet HtmlTextWriter fourni et stocke les informations de traçage sur le contrôle si le traçage est activé. (Hérité de Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Génère le contenu du contrôle serveur dans un objet HtmlTextWriter à l'aide d'un objet ControlAdapter fourni. (Hérité de Control) |
RenderEndTag(HtmlTextWriter) |
Génère le rendu de la balise de fermeture HTML du contrôle Panel via le writer spécifié. (Hérité de Panel) |
ResolveAdapter() |
Obtient l'adaptateur de contrôles responsable du rendu du contrôle spécifié. (Hérité de Control) |
ResolveClientUrl(String) |
Obtient une URL qui peut être utilisée par le navigateur. (Hérité de Control) |
ResolveUrl(String) |
Convertit une URL en une URL que le client soit en mesure d'utiliser. (Hérité de Control) |
SaveControlState() |
Enregistre tous les changements d’état de contrôle serveur qui ont eu lieu depuis que la page a été publiée sur le serveur. (Hérité de Control) |
SaveViewState() |
Enregistre les états qui ont été modifiés après l’appel de la méthode TrackViewState(). (Hérité de WebControl) |
SetDesignModeState(IDictionary) |
Définit les données au moment du design pour un contrôle. (Hérité de CatalogPart) |
SetRenderMethodDelegate(RenderMethod) |
Assigne un délégué de gestionnaires d'événements pour générer le rendu du contrôle serveur et de son contenu dans son contrôle parent. (Hérité de Control) |
SetTraceData(Object, Object) |
Définit les données de trace pour le suivi du rendu des données au moment du design à l'aide de la clé des données de trace et de la valeur des données de trace. (Hérité de Control) |
SetTraceData(Object, Object, Object) |
Définit les données de trace pour le suivi du rendu des données au moment du design, à l'aide de l'objet suivi, de la clé des données de trace et de la valeur des données de trace. (Hérité de Control) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
TrackViewState() |
Force le contrôle à suivre les modifications apportées à son état d’affichage afin qu’elles puissent être stockées dans la propriété ViewState. (Hérité de WebControl) |
Événements
DataBinding |
Se produit lorsque le contrôle serveur se lie à une source de données. (Hérité de Control) |
Disposed |
Se produit lorsqu'un contrôle serveur est libéré de la mémoire, ce qui constitue la dernière étape du cycle de vie d'un contrôle serveur en cas de demande d'une page ASP.NET. (Hérité de Control) |
Init |
Se produit lorsque le contrôle serveur est initialisé, ce qui constitue la première étape de son cycle de vie. (Hérité de Control) |
Load |
Se produit lorsque le contrôle serveur est chargé dans l'objet Page. (Hérité de Control) |
PreRender |
Se produit après le chargement de l'objet Control mais avant le rendu. (Hérité de Control) |
Unload |
Se produit lorsque le contrôle serveur est déchargé de la mémoire. (Hérité de Control) |
Implémentations d’interfaces explicites
IAttributeAccessor.GetAttribute(String) |
Obtient un attribut du contrôle Web avec le nom spécifié. (Hérité de WebControl) |
IAttributeAccessor.SetAttribute(String, String) |
Affecte au nom et à la valeur spécifiés un attribut du contrôle Web. (Hérité de WebControl) |
ICompositeControlDesignerAccessor.RecreateChildControls() |
Permet au développeur d'un concepteur de contrôle Part composite de recréer les contrôles enfants du contrôle sur l'aire de conception. (Hérité de Part) |
IControlBuilderAccessor.ControlBuilder |
Pour obtenir une description de ce membre, consultez ControlBuilder. (Hérité de Control) |
IControlDesignerAccessor.GetDesignModeState() |
Pour obtenir une description de ce membre, consultez GetDesignModeState(). (Hérité de Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Pour obtenir une description de ce membre, consultez SetDesignModeState(IDictionary). (Hérité de Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Pour obtenir une description de ce membre, consultez SetOwnerControl(Control). (Hérité de Control) |
IControlDesignerAccessor.UserData |
Pour obtenir une description de ce membre, consultez UserData. (Hérité de Control) |
IDataBindingsAccessor.DataBindings |
Pour obtenir une description de ce membre, consultez DataBindings. (Hérité de Control) |
IDataBindingsAccessor.HasDataBindings |
Pour obtenir une description de ce membre, consultez HasDataBindings. (Hérité de Control) |
IExpressionsAccessor.Expressions |
Pour obtenir une description de ce membre, consultez Expressions. (Hérité de Control) |
IExpressionsAccessor.HasExpressions |
Pour obtenir une description de ce membre, consultez HasExpressions. (Hérité de Control) |
IParserAccessor.AddParsedSubObject(Object) |
Pour obtenir une description de ce membre, consultez AddParsedSubObject(Object). (Hérité de Control) |
Méthodes d’extension
FindDataSourceControl(Control) |
Retourne la source de données associée au contrôle de données pour le contrôle spécifié. |
FindFieldTemplate(Control, String) |
Retourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié. |
FindMetaTable(Control) |
Retourne l'objet Metatable pour le contrôle de données conteneur. |
GetDefaultValues(INamingContainer) |
Obtient la collection des valeurs par défaut pour le contrôle de données spécifié. |
GetMetaTable(INamingContainer) |
Obtient les métadonnées de table pour le contrôle de données spécifié. |
SetMetaTable(INamingContainer, MetaTable) |
Définit les métadonnées de table pour le contrôle de données spécifié. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Définit les métadonnées de table et le mappage des valeurs par défaut pour le contrôle de données spécifié. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Définit les métadonnées de table et le mappage des valeurs par défaut pour le contrôle de données spécifié. |
TryGetMetaTable(INamingContainer, MetaTable) |
Détermine si des métadonnées de table sont disponibles. |
EnableDynamicData(INamingContainer, Type) |
Active le comportement Dynamic Data pour le contrôle de données spécifié. |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Active le comportement Dynamic Data pour le contrôle de données spécifié. |
EnableDynamicData(INamingContainer, Type, Object) |
Active le comportement Dynamic Data pour le contrôle de données spécifié. |