Partager via


DeclarativeCatalogPart Classe

Définition

Permet aux développeurs d’ajouter un catalogue de contrôles WebPart ou d’autres contrôles serveur à une page web dans le format déclaratif de persistance de page. Cette classe ne peut pas être héritée.

public ref class DeclarativeCatalogPart sealed : System::Web::UI::WebControls::WebParts::CatalogPart
public sealed class DeclarativeCatalogPart : System.Web.UI.WebControls.WebParts.CatalogPart
type DeclarativeCatalogPart = class
    inherit CatalogPart
Public NotInheritable Class DeclarativeCatalogPart
Inherits CatalogPart
Héritage
DeclarativeCatalogPart

Exemples

L’exemple de code suivant montre comment utiliser le DeclarativeCatalogPart contrôle de manière déclarative 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 DeclarativeCatalogPart 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 vous permet de modifier les modes d’affichage sur la page. 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 DeclarativeCatalogPart contrôle, imbriquée dans la hiérarchie appropriée d’éléments déclaratifs, comme décrit dans la section Remarques de cette rubrique. L’élément <asp:declarativecatalogpart> contient un <webpartstemplate> élément, qui à son tour contient des références pour un contrôle ASP.NET Calendar standard et les deux contrôles personnalisés WebPart ; il s’agit des contrôles que les utilisateurs peuvent sélectionner dans le catalogue. La page contient également une fonctionnalité de modification, avec un PropertyGridEditorPart contrôle déclaré sur la page. Ce contrôle permet aux utilisateurs de modifier certaines propriétés des contrôles personnalisés WebPart une fois qu’ils ont été ajoutés à la page et après que l’utilisateur a basculé la page en mode édition.

<%@ page language="c#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="UserInfoWebPartCS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      DeclarativeCatalogPart Control
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server"  />
      <uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server" >
        <PartTitleStyle BorderWidth="1" 
          Font-Names="Verdana, Arial"
          Font-Size="110%"
          BackColor="LightBlue" />
        <zonetemplate>
          <asp:BulletedList ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink"
            Title="Favorites">
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
        </zonetemplate>
      </asp:webpartzone> 
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"  
            runat="server" 
            Title="Web Parts Catalog"
            ChromeType="TitleOnly" 
            Description="Contains a user control with Web Parts and 
              an ASP.NET Calendar control.">
            <WebPartsTemplate>
              <asp:Calendar ID="Calendar1" runat="server" 
                Title="My Calendar" 
                Description="ASP.NET Calendar control used as a personal calendar." />
              <aspSample:UserInfoWebPart 
                runat="server"   
                id="userinfo1" 
                title = "User Information WebPart"
                Description ="Contains custom, editable user information 
                  for display on a page." />
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="TextDisplayWebPart1" 
                title = "Text Display WebPart" 
                Description="Contains a label that users can dynamically update." />
            </WebPartsTemplate>              
          </asp:DeclarativeCatalogPart>
        </ZoneTemplate>
      </asp:CatalogZone>
      <asp:EditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
      </ZoneTemplate>
      </asp:EditorZone> 
    </form>
  </body>
</html>
<%@ page language="VB" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="UserInfoWebPartVB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>
      DeclarativeCatalogPart Control
    </title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:webpartmanager id="WebPartManager1" runat="server"  />
      <uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
      <asp:webpartzone id="zone1" runat="server" >
        <PartTitleStyle BorderWidth="1" 
          Font-Names="Verdana, Arial"
          Font-Size="110%"
          BackColor="LightBlue" />
        <zonetemplate>
          <asp:BulletedList ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink"
            Title="Favorites">
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
        </zonetemplate>
      </asp:webpartzone> 
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"  
            runat="server" 
            Title="Web Parts Catalog"
            ChromeType="TitleOnly" 
            Description="Contains a user control with Web Parts and 
              an ASP.NET Calendar control.">
            <WebPartsTemplate>
              <asp:Calendar ID="Calendar1" runat="server" 
                Title="My Calendar" 
                Description="ASP.NET Calendar control used as a personal calendar." />
              <aspSample:UserInfoWebPart 
                runat="server"   
                id="userinfo1" 
                title = "User Information WebPart"
                Description ="Contains custom, editable user information 
                  for display on a page." />
              <aspSample:TextDisplayWebPart 
                runat="server"   
                id="TextDisplayWebPart1" 
                title = "Text Display WebPart" 
                Description="Contains a label that users can dynamically update." />
            </WebPartsTemplate>              
          </asp:DeclarativeCatalogPart>
        </ZoneTemplate>
      </asp:CatalogZone>
      <asp:EditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
      </ZoneTemplate>
      </asp:EditorZone> 
    </form>
  </body>
</html>

La 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. 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é.

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class UserInfoWebPart : WebPart
  {
    HttpServerUtility server = HttpContext.Current.Server;
    private String _userNickName = "Add a nickname.";
    private String _userPetName = "Add a pet's name.";
    private DateTime _userSpecialDate = DateTime.Now;
    private Boolean _userIsCurrent = true;
    private JobTypeName _userJobType = JobTypeName.Unselected;
    public enum JobTypeName
    {
      Unselected = 0,
      Support = 1,
      Service = 2,
      Professional = 3, 
      Technical = 4,
      Manager = 5,
      Executive = 6
    }
    Label NickNameLabel;
    Label PetNameLabel;
    Label SpecialDateLabel;
    CheckBox IsCurrentCheckBox;
    Label JobTypeLabel;

    // Add the Personalizable and WebBrowsable attributes to the  
    // public properties, so that users can save property values  
    // and edit them with a PropertyGridEditorPart control.
    [Personalizable(), WebBrowsable, WebDisplayName("Nickname")]
    public String NickName
    {
      get 
      { 
        object o = ViewState["NickName"];
        if (o != null)
          return (string)o;
        else
          return _userNickName;        
      } 

      set { _userNickName = server.HtmlEncode(value); }
    }

    [Personalizable(), WebBrowsable, WebDisplayName("Pet Name")]
    public String PetName
    {
      get 
      { 
        object o = ViewState["PetName"];
        if (o != null)
          return (string)o;
        else
          return _userPetName;        
      }

      set { _userPetName = server.HtmlEncode(value); }
    }

    [Personalizable(), WebBrowsable(), WebDisplayName("Special Day")]
    public DateTime SpecialDay
    {
      get
      {
        object o = ViewState["SpecialDay"];
        if (o != null)
          return (DateTime)o;
        else
          return _userSpecialDate;
      }

      set { _userSpecialDate = value; }
    }

    [Personalizable(), WebBrowsable(), WebDisplayName("Job Type")]
    public JobTypeName UserJobType
    {
      get
      {
        object o = ViewState["UserJobType"];
        if (o != null)
          return (JobTypeName)o;
        else
          return _userJobType;
      }

      set { _userJobType = (JobTypeName)value; }
    }

    [Personalizable(), WebBrowsable(), WebDisplayName("Is Current")]
    public Boolean IsCurrent
    {
      get
      {
        object o = ViewState["IsCurrent"];
        if (o != null)
          return (Boolean)o;
        else
          return _userIsCurrent;
      }

      set { _userIsCurrent = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();

      NickNameLabel = new Label();
      NickNameLabel.Text = this.NickName;
      SetControlAttributes(NickNameLabel);

      PetNameLabel = new Label();
      PetNameLabel.Text = this.PetName;
      SetControlAttributes(PetNameLabel);

      SpecialDateLabel = new Label();
      SpecialDateLabel.Text = this.SpecialDay.ToShortDateString();
      SetControlAttributes(SpecialDateLabel);

      IsCurrentCheckBox = new CheckBox();
      IsCurrentCheckBox.Checked = this.IsCurrent;
      SetControlAttributes(IsCurrentCheckBox);

      JobTypeLabel = new Label();
      JobTypeLabel.Text = this.UserJobType.ToString();
      SetControlAttributes(JobTypeLabel);

      ChildControlsCreated = true;
    }

    private void SetControlAttributes(WebControl ctl)
    {
      ctl.BackColor = Color.White;
      ctl.BorderWidth = 1;
      ctl.Width = 200;
      this.Controls.Add(ctl);
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
      writer.Write("Nickname:");
      writer.WriteBreak();
      NickNameLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Pet Name:");
      writer.WriteBreak();
      PetNameLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Special Date:");
      writer.WriteBreak();
      SpecialDateLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Job Type:");
      writer.WriteBreak();
      JobTypeLabel.RenderControl(writer);
      writer.WriteBreak();
      writer.Write("Current:");
      writer.WriteBreak();
      IsCurrentCheckBox.RenderControl(writer);
    }
  }

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class TextDisplayWebPart : WebPart
  {
    private String _contentText = null;
    TextBox input;
    Label DisplayContent;
    Literal lineBreak;

    [Personalizable(), WebBrowsable]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      this.Controls.Add(DisplayContent);

      lineBreak = new Literal();
      lineBreak.Text = @"<br />";
      Controls.Add(lineBreak);

      input = new TextBox();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Set Label Content";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);
    }

    private void submit_Click(object sender, EventArgs e)
    {
      // Update the label string.
      if (!string.IsNullOrEmpty(input.Text))
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }
  }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class UserInfoWebPart
    Inherits WebPart
    Private server As HttpServerUtility = HttpContext.Current.Server
    Private _userNickName As String = "Add a nickname."
    Private _userPetName As String = "Add a pet's name."
    Private _userSpecialDate As DateTime = DateTime.Now
    Private _userIsCurrent As [Boolean] = True
    Private _userJobType As JobTypeName = JobTypeName.Unselected

    Public Enum JobTypeName
      Unselected = 0
      Support = 1
      Service = 2
      Professional = 3
      Technical = 4
      Manager = 5
      Executive = 6
    End Enum

    Private NickNameLabel As Label
    Private PetNameLabel As Label
    Private SpecialDateLabel As Label
    Private IsCurrentCheckBox As CheckBox
    Private JobTypeLabel As Label

    ' Add the Personalizable and WebBrowsable attributes to the  
    ' public properties, so that users can save property values  
    ' and edit them with a PropertyGridEditorPart control.

    <Personalizable(), WebBrowsable(), WebDisplayName("Nickname")> _
    Public Property NickName() As String
      Get
        Dim o As Object = ViewState("NickName")
        If Not (o Is Nothing) Then
          Return CStr(o)
        Else
          Return _userNickName
        End If
      End Get
      Set(ByVal value As String)
        _userNickName = server.HtmlEncode(value)
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Pet Name")> _
    Public Property PetName() As String
      Get
        Dim o As Object = ViewState("PetName")
        If Not (o Is Nothing) Then
          Return CStr(o)
        Else
          Return _userPetName
        End If
      End Get
      Set(ByVal value As String)
        _userPetName = server.HtmlEncode(value)
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Special Day")> _
    Public Property SpecialDay() As DateTime
      Get
        Dim o As Object = ViewState("SpecialDay")
        If Not (o Is Nothing) Then
          Return CType(o, DateTime)
        Else
          Return _userSpecialDate
        End If
      End Get

      Set(ByVal value As DateTime)
        _userSpecialDate = value
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Job Type")> _
    Public Property UserJobType() As JobTypeName
      Get
        Dim o As Object = ViewState("UserJobType")
        If Not (o Is Nothing) Then
          Return CType(o, JobTypeName)
        Else
          Return _userJobType
        End If
      End Get
      Set(ByVal value As JobTypeName)
        _userJobType = CType(value, JobTypeName)
      End Set
    End Property

    <Personalizable(), WebBrowsable(), WebDisplayName("Is Current")> _
    Public Property IsCurrent() As [Boolean]
      Get
        Dim o As Object = ViewState("IsCurrent")
        If Not (o Is Nothing) Then
          Return CType(o, [Boolean])
        Else
          Return _userIsCurrent
        End If
      End Get
      Set(ByVal value As [Boolean])
        _userIsCurrent = value
      End Set
    End Property

    Protected Overrides Sub CreateChildControls()
      Controls.Clear()

      NickNameLabel = New Label()
      NickNameLabel.Text = Me.NickName
      SetControlAttributes(NickNameLabel)

      PetNameLabel = New Label()
      PetNameLabel.Text = Me.PetName
      SetControlAttributes(PetNameLabel)

      SpecialDateLabel = New Label()
      SpecialDateLabel.Text = Me.SpecialDay.ToShortDateString()
      SetControlAttributes(SpecialDateLabel)

      IsCurrentCheckBox = New CheckBox()
      IsCurrentCheckBox.Checked = Me.IsCurrent
      SetControlAttributes(IsCurrentCheckBox)

      JobTypeLabel = New Label()
      JobTypeLabel.Text = Me.UserJobType.ToString()
      SetControlAttributes(JobTypeLabel)

      ChildControlsCreated = True

    End Sub

    Private Sub SetControlAttributes(ByVal ctl As WebControl)
      ctl.BackColor = Color.White
      ctl.BorderWidth = 1
      ctl.Width = 200
      Me.Controls.Add(ctl)
    End Sub

    Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
      writer.Write("Nickname:")
      writer.WriteBreak()
      NickNameLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Pet Name:")
      writer.WriteBreak()
      PetNameLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Special Date:")
      writer.WriteBreak()
      SpecialDateLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Job Type:")
      writer.WriteBreak()
      JobTypeLabel.RenderControl(writer)
      writer.WriteBreak()
      writer.Write("Current:")
      writer.WriteBreak()
      IsCurrentCheckBox.RenderControl(writer)

    End Sub

  End Class


  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class TextDisplayWebPart
    Inherits WebPart
    Private _contentText As String = Nothing
    Private _fontStyle As String = Nothing
    Private input As TextBox
    Private DisplayContent As Label
    Private lineBreak As Literal

    <Personalizable(), WebBrowsable()> _
    Public Property ContentText() As String
      Get
        Return _contentText
      End Get
      Set(ByVal value As String)
        _contentText = value
      End Set
    End Property

    Protected Overrides Sub CreateChildControls()
      Controls.Clear()
      DisplayContent = New Label()
      DisplayContent.BackColor = Color.LightBlue
      DisplayContent.Text = Me.ContentText
      Me.Controls.Add(DisplayContent)

      lineBreak = New Literal()
      lineBreak.Text = "<br />"
      Controls.Add(lineBreak)

      input = New TextBox()
      Me.Controls.Add(input)
      Dim update As New Button()
      update.Text = "Set Label Content"
      AddHandler update.Click, AddressOf Me.submit_Click
      Me.Controls.Add(update)

    End Sub

    Private Sub submit_Click(ByVal sender As Object, _
                             ByVal e As EventArgs)
      ' Update the label string.
      If input.Text <> String.Empty Then
        _contentText = input.Text + "<br />"
        input.Text = String.Empty
        DisplayContent.Text = Me.ContentText
      End If

    End Sub

  End Class

End Namespace

Lorsque vous chargez la page dans un navigateur, sélectionnez Mode catalogue dans le contrôle de liste déroulante Mode d’affichage pour basculer en mode catalogue. En mode catalogue, vous pouvez voir les contrôles disponibles pour être ajoutés à la page. Ajoutez les trois contrôles, puis utilisez la liste déroulante Mode d’affichage pour retourner la page en mode de navigation. Les trois contrôles s’affichent sur la page. Si vous utilisez la liste déroulante Mode d’affichage et basculez la page en mode édition, vous pouvez cliquer sur le menu verbes (flèche vers le bas) dans la barre de titre du contrôle User Information WebPart , puis cliquer sur Modifier pour modifier le contrôle. Lorsque l’interface utilisateur de modification est visible, vous pouvez voir le PropertyGridEditorPart contrôle. Notez qu’un contrôle est rendu pour chacune des propriétés de la UserInfoWebPart classe marquée avec l’attribut WebBrowsable . Si vous apportez des modifications dans l’interface utilisateur de modification et cliquez sur le bouton Appliquer , vous pouvez utiliser la liste déroulante Mode d’affichage pour retourner la page en mode de navigation et voir l’effet complet des modifications apportées.

Remarques

Tout comme il existe des zones orientées outils dans le jeu de contrôles WebPart (pour plus d’informations, consultez la vue d’ensemble de la ToolZone classe), il existe des contrôles orientés Part outils, et chacun de ces contrôles doit résider dans un certain type de zone d’outil. Les contrôles de composants orientés outils dans l’ensemble de contrôles De composants WebPart ont deux caractéristiques distinctives :

  • Il s’agit de contrôles d’assistance qui permettent aux utilisateurs finaux de personnaliser des contrôles sur une page de composants WebPart.

  • Ils ne sont visibles que dans certains modes d’affichage.

DeclarativeCatalogPart est un contrôle de composant qui doit résider dans un CatalogZoneBase type de zone, tel que la CatalogZone zone fournie avec le jeu de contrôles WebPart. Le DeclarativeCatalogPart contrôle devient visible uniquement lorsqu’une page Web est en mode d’affichage catalogue.

Le DeclarativeCatalogPart contrôle permet aux développeurs d’ajouter un ensemble de contrôles serveur de manière déclarative à un catalogue sur une page Web. Un catalogue, dans le jeu de contrôles WebPart, est simplement une liste de WebPart ou d’autres contrôles serveur visibles lorsqu’une page est en mode d’affichage catalogue. Un utilisateur peut sélectionner des contrôles dans la liste et les ajouter à la page Web, ce qui permet aux utilisateurs de modifier l’ensemble de contrôles et les fonctionnalités d’une page.

Notes

Les utilisateurs peuvent ajouter plusieurs instances du même contrôle dans un catalogue à une page Web.

L’un des avantages de l’utilisation d’un DeclarativeCatalogPart contrôle pour créer un catalogue de contrôles serveur est qu’il ne nécessite aucun codage. Les développeurs de pages peuvent utiliser le contrôle entièrement au format déclaratif (ou persistance de page), d’où le nom du contrôle.

Le DeclarativeCatalogPart contrôle a une propriété utile qui permet aux développeurs de configurer un catalogue de contrôles qui peuvent être utilisés sur l’ensemble d’un site. Plutôt que de déclarer des contrôles serveur individuels dans un DeclarativeCatalogPart contrôle, un développeur peut définir la valeur de la WebPartsListUserControlPath propriété sur le chemin d’accès d’un contrôle utilisateur qui contient la liste des contrôles serveur qui doivent se trouver dans le catalogue. Au moment de l’exécution, les contrôles serveur référencés dans le contrôle utilisateur sont chargés dans le catalogue. De cette façon, plusieurs pages ou sites peuvent référencer le même contrôle utilisateur pour créer un catalogue. Lorsque la liste des contrôles serveur du contrôle utilisateur est mise à jour, il met à jour tous les catalogues en fonction du contrôle utilisateur.

La DeclarativeCatalogPart classe a un certain nombre de propriétés publiques qui remplacent les propriétés héritées. La plupart de ces propriétés ne sont pas réellement utilisées pour le rendu du contrôle ; ils sont remplacés uniquement afin que des attributs de code spéciaux puissent être définis sur eux pour les masquer des outils de conception tels que Microsoft Visual Studio 2005. Vous ne devez pas utiliser ces propriétés masquées, car elles n’ont aucun effet sur le rendu. Le fait qu’ils soient masqués dans IntelliSense et le volet Propriétés dans Visual Studio aide les développeurs à éviter de les utiliser par erreur. Toutes ces propriétés masquées sont notées comme telles dans leurs rubriques d’aide respectives.

La DeclarativeCatalogPart classe a également plusieurs méthodes. 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 DeclarativeCatalogPart des informations sur chaque contrôle serveur sans avoir à en créer une instance. Une autre méthode est la GetWebPart méthode . Cette méthode obtient une instance d’un contrôle particulier WebPart , en fonction de la description passée à la méthode.

Notes

Pour améliorer l’accessibilité, le DeclarativeCatalogPart contrôle est rendu dans un <fieldset> élément. L’élément <fieldset> regroupe l’ensemble associé de contrôles utilisés pour la modification dans le contrôle, et il facilite la DeclarativeCatalogPart navigation par onglets parmi ces contrôles pour les agents utilisateur visuels (tels que les navigateurs Web ordinaires) et les agents utilisateur orientés vers la parole (tels que les logiciels de lecture d’écran).

Constructeurs

DeclarativeCatalogPart()

Initialise une nouvelle instance de la classe.

Propriétés

AccessKey

Cette propriété héritée n'est pas utilisée par le jeu de contrôles WebPart lors du rendu d'un contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

BackImageUrl

Cette propriété héritée n'est pas utilisée par le jeu de contrôles WebPart lors du rendu d'un contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

BindingContainer

Obtient le contrôle qui contient la liaison de données de ce contrôle.

(Hérité de Control)
BorderColor

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

BorderStyle

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

BorderWidth

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

DisplayTitle

Obtient une chaîne qui contient le titre actuel réel d'un contrôle CatalogPart.

(Hérité de CatalogPart)
Enabled

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

EnableTheming

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

ForeColor

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

GroupingText

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

HorizontalAlign

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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)
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)
RenderingCompatibility

Obtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible.

(Hérité de Control)
ScrollBars

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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 disabled de l'élément HTML rendu avec la valeur « disabled » quand la propriété IsEnabled du contrôle a la valeur false.

(Hérité de Panel)
TabIndex

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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 du contrôle.

ToolTip

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

UniqueID

Obtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur.

(Hérité de Control)
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

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

WebPartManager

Obtient une référence à l'instance actuelle de la classe WebPartManager.

(Hérité de CatalogPart)
WebPartsListUserControlPath

Obtient ou définit le chemin d'accès à un contrôle utilisateur qui contient une liste de contrôles WebPart ou d'autres contrôles serveur pour le catalogue.

WebPartsTemplate

Obtient ou définit une référence à un modèle qui contient les contrôles WebPart déclarés dans un catalogue.

Width

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

Wrap

Cette propriété héritée n'est pas utilisée par le contrôle DeclarativeCatalogPart. La propriété est remplacée uniquement dans le but de l’empêcher d’apparaître dans les outils de conception Microsoft Visual Studio 2005.

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 null.

(Hérité de Control)
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 id spécifié dans le conteneur d'attribution de noms actuel.

(Hérité de Control)
FindControl(String, Int32)

Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l'id spécifié et un entier, spécifié dans le paramètre pathOffset, qui facilite la recherche. Vous ne devez pas substituer cette version de la méthode FindControl.

(Hérité de Control)
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 de la valeur 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é.

S’applique à

Voir aussi