Condividi tramite


DeclarativeCatalogPart Classe

Definizione

Consente agli sviluppatori di aggiungere un catalogo di WebPart o altri controlli server a una pagina Web nel formato dichiarativo di persistenza delle pagine. Questa classe non può essere ereditata.

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
Ereditarietà
DeclarativeCatalogPart

Esempio

Nell'esempio di codice seguente viene illustrato come usare il DeclarativeCatalogPart controllo in modo dichiarativo in una pagina Web. L'esempio ha quattro parti:

  • Controllo utente che consente di modificare le modalità di visualizzazione in una pagina web part.

  • Pagina Web contenente un CatalogZone controllo e un DeclarativeCatalogPart controllo .

  • File di codice sorgente che contiene due controlli personalizzati WebPart .

  • Spiegazione del funzionamento dell'esempio quando si carica la pagina in un browser.

La prima parte di questo esempio di codice è il controllo utente che consente di modificare le modalità di visualizzazione nella pagina. Per informazioni dettagliate sulle modalità di visualizzazione e una descrizione del codice sorgente in questo controllo, vedere Procedura dettagliata: Modifica delle modalità di visualizzazione in una pagina web part.

<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
  
 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
    
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName, modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

    // If shared scope is allowed for this user, display the scope-switching
    // UI and select the appropriate radio button for the current user scope.
    if (_manager.Personalization.CanEnterSharedScope)
    {
      Panel2.Visible = true;
      if (_manager.Personalization.Scope == PersonalizationScope.User)
        RadioButton1.Checked = true;
      else
        RadioButton2.Checked = true;
    }
    
  }
 
  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
  {
    String selectedMode = DisplayModeDropdown.SelectedValue;

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;
  }

  // Set the selected item equal to the current display mode.
  void Page_PreRender(object sender, EventArgs e)
  {
    ListItemCollection items = DisplayModeDropdown.Items;
    int selectedIndex = 
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
    DisplayModeDropdown.SelectedIndex = selectedIndex;
  }

  // Reset all of a user's personalization data for the page.
  protected void LinkButton1_Click(object sender, EventArgs e)
  {
    _manager.Personalization.ResetPersonalizationState();
  }

  // If not in User personalization scope, toggle into it.
  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.Scope == PersonalizationScope.Shared)
      _manager.Personalization.ToggleScope();
  }

  // If not in Shared scope, and if user is allowed, toggle the scope.
  protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
  {
    if (_manager.Personalization.CanEnterSharedScope && 
        _manager.Personalization.Scope == PersonalizationScope.User)
      _manager.Personalization.ToggleScope();
  }
</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text=" Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
  ' Use a field to reference the current WebPartManager.
  Dim _manager As WebPartManager

  Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
    AddHandler Page.InitComplete, AddressOf InitComplete
  End Sub

  Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
    _manager = WebPartManager.GetCurrentWebPartManager(Page)
      
    Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
      
    ' Fill the dropdown with the names of supported display modes.
    Dim mode As WebPartDisplayMode
    For Each mode In _manager.SupportedDisplayModes
      Dim modeName As String = mode.Name
      ' Make sure a mode is enabled before adding it.
      If mode.IsEnabled(_manager) Then
        Dim item As New ListItem(modeName, modeName)
        DisplayModeDropdown.Items.Add(item)
      End If
    Next mode
      
    ' If shared scope is allowed for this user, display the scope-switching
    ' UI and select the appropriate radio button for the current user scope.
    If _manager.Personalization.CanEnterSharedScope Then
      Panel2.Visible = True
      If _manager.Personalization.Scope = PersonalizationScope.User Then
        RadioButton1.Checked = True
      Else
        RadioButton2.Checked = True
      End If
    End If
   
  End Sub

  ' Change the page to the selected display mode.
  Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim selectedMode As String = DisplayModeDropdown.SelectedValue   
    Dim mode As WebPartDisplayMode = _
      _manager.SupportedDisplayModes(selectedMode)
    If Not (mode Is Nothing) Then
      _manager.DisplayMode = mode
    End If

  End Sub
   
  ' Set the selected item equal to the current display mode.
  Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
    Dim items As ListItemCollection = DisplayModeDropdown.Items
    Dim selectedIndex As Integer = _
      items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
    DisplayModeDropdown.SelectedIndex = selectedIndex

  End Sub

  ' Reset all of a user's personalization data for the page.
  Protected Sub LinkButton1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    _manager.Personalization.ResetPersonalizationState()
    
  End Sub

  ' If not in User personalization scope, toggle into it.
  Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.Scope = PersonalizationScope.Shared Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub
   
  ' If not in Shared scope, and if user is allowed, toggle the scope.
  Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    If _manager.Personalization.CanEnterSharedScope AndAlso _
      _manager.Personalization.Scope = PersonalizationScope.User Then
      _manager.Personalization.ToggleScope()
    End If

  End Sub

</script>
<div>
  <asp:Panel ID="Panel1" runat="server" 
    Borderwidth="1" 
    Width="230" 
    BackColor="lightgray"
    Font-Names="Verdana, Arial, Sans Serif" >
    <asp:Label ID="Label1" runat="server" 
      Text=" Display Mode" 
      Font-Bold="true"
      Font-Size="8"
      Width="120" 
      AssociatedControlID="DisplayModeDropdown"/>
    <asp:DropDownList ID="DisplayModeDropdown" runat="server"  
      AutoPostBack="true" 
      Width="120"
      OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
    <asp:LinkButton ID="LinkButton1" runat="server"
      Text="Reset User State" 
      ToolTip="Reset the current user's personalization data for the page."
      Font-Size="8" 
      OnClick="LinkButton1_Click" />
    <asp:Panel ID="Panel2" runat="server" 
      GroupingText="Personalization Scope"
      Font-Bold="true"
      Font-Size="8" 
      Visible="false" >
      <asp:RadioButton ID="RadioButton1" runat="server" 
        Text="User" 
        AutoPostBack="true"
        GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
      <asp:RadioButton ID="RadioButton2" runat="server" 
        Text="Shared" 
        AutoPostBack="true"
        GroupName="Scope" 
        OnCheckedChanged="RadioButton2_CheckedChanged" />
    </asp:Panel>
  </asp:Panel>
</div>

La seconda parte dell'esempio di codice è la pagina Web. Nella parte superiore della pagina sono presenti due Register direttive, una per il controllo utente e una per il componente compilato che contiene i due controlli personalizzati WebPart . Si noti che nella pagina è presente un riferimento dichiarativo al DeclarativeCatalogPart controllo annidato all'interno della gerarchia corretta di elementi dichiarativi, come descritto nella sezione Osservazioni di questo argomento. L'elemento <asp:declarativecatalogpart> contiene un <webpartstemplate> elemento, che a sua volta contiene riferimenti per un controllo ASP.NET Calendar standard e i due controlli personalizzati WebPart . Si tratta dei controlli che gli utenti possono selezionare dal catalogo. La pagina contiene anche funzionalità di modifica, con un PropertyGridEditorPart controllo dichiarato nella pagina. Questo controllo consente agli utenti di modificare determinate proprietà nei controlli personalizzati WebPart dopo l'aggiunta alla pagina e dopo che l'utente ha cambiato la pagina in modalità di modifica.

<%@ 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 terza parte dell'esempio di codice è il codice sorgente per i due WebPart controlli. Si noti che alcune proprietà di questi controlli sono contrassegnate con l'attributo WebBrowsable . Ciò consente al PropertyGridEditorPart controllo di generare dinamicamente l'interfaccia utente per consentire a un utente di modificare tali proprietà quando i controlli sono in modalità di modifica. Le proprietà vengono contrassegnate anche con un WebDisplayName attributo per specificare il testo dell'etichetta visualizzata accanto a ogni controllo nell'interfaccia utente di modifica.

Per eseguire l'esempio di codice, è necessario compilare questo codice sorgente. È possibile compilarlo in modo esplicito e inserire l'assembly risultante nella cartella Bin del sito Web o nella Global Assembly Cache. In alternativa, è possibile inserire il codice sorgente nella cartella App_Code del sito, in cui verrà compilato in modo dinamico in fase di esecuzione. Per una procedura dettagliata che illustra entrambi i metodi di compilazione, vedere Procedura dettagliata: Sviluppo e uso di un controllo server Web personalizzato.

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

Quando si carica la pagina in un browser, selezionare Modalità catalogo nel controllo elenco a discesa Modalità di visualizzazione per passare alla modalità catalogo. In modalità catalogo è possibile visualizzare i controlli disponibili per l'aggiunta alla pagina. Aggiungere tutti e tre i controlli e quindi usare l'elenco a discesa Modalità di visualizzazione per restituire la pagina in modalità di esplorazione. I tre controlli vengono visualizzati nella pagina. Se si utilizza l'elenco a discesa Modalità di visualizzazione e si passa alla modalità di modifica della pagina, è possibile fare clic sul menu verbi (freccia verso il basso) nella barra del titolo del controllo WebPart Informazioni utente e fare clic su Modifica per modificare il controllo. Quando l'interfaccia utente di modifica è visibile, è possibile visualizzare il PropertyGridEditorPart controllo . Si noti che viene eseguito il rendering di un controllo per ognuna delle proprietà della UserInfoWebPart classe contrassegnata con l'attributo WebBrowsable . Se si apportano alcune modifiche nell'interfaccia utente di modifica e si fa clic sul pulsante Applica , è possibile usare l'elenco a discesa Modalità di visualizzazione per restituire la pagina in modalità di esplorazione e visualizzare l'effetto completo delle modifiche di modifica.

Commenti

Proprio come ci sono zone orientate agli strumenti nel set di controlli Web part (per informazioni dettagliate, vedere la panoramica della ToolZone classe), sono presenti controlli orientati agli Part strumenti e ognuno di questi controlli deve risiedere in un determinato tipo di zona degli strumenti. I controlli part orientati agli strumenti nel set di controlli Web part hanno due caratteristiche distintive:

  • Sono controlli helper che consentono agli utenti finali di personalizzare i controlli in una pagina web part.

  • Sono visibili solo in determinate modalità di visualizzazione.

DeclarativeCatalogPart è un controllo parte che deve risiedere in un CatalogZoneBase tipo di zona, ad esempio l'area CatalogZone fornita con il set di controlli Web part. Il DeclarativeCatalogPart controllo diventa visibile solo quando una pagina Web è in modalità di visualizzazione del catalogo.

Il DeclarativeCatalogPart controllo consente agli sviluppatori di aggiungere un set di controlli server in modo dichiarativo a un catalogo in una pagina Web. Un catalogo, nel set di controlli Web part, è semplicemente un elenco di WebPart o altri controlli server visibili quando una pagina è in modalità di visualizzazione del catalogo. Un utente può selezionare i controlli dall'elenco e aggiungerli alla pagina Web, che offre agli utenti la possibilità di modificare il set di controlli e le funzionalità in una pagina.

Annotazioni

Gli utenti possono aggiungere più istanze dello stesso controllo in un catalogo a una pagina Web.

Un vantaggio dell'uso di un DeclarativeCatalogPart controllo per creare un catalogo di controlli server è che non richiede codice. Gli sviluppatori di pagine possono usare il controllo interamente nel formato dichiarativo (o persistenza della pagina), quindi il nome del controllo.

Il DeclarativeCatalogPart controllo dispone di una proprietà utile che consente agli sviluppatori di configurare un catalogo di controlli che possono essere usati in un intero sito. Anziché dichiarare singoli controlli server all'interno di un DeclarativeCatalogPart controllo, uno sviluppatore può impostare il valore della WebPartsListUserControlPath proprietà sul percorso di un controllo utente che contiene l'elenco di controlli server che devono trovarsi nel catalogo. In fase di esecuzione, i controlli server a cui si fa riferimento nel controllo utente vengono caricati nel catalogo. In questo modo, più pagine o siti possono fare riferimento allo stesso controllo utente per creare un catalogo. Quando l'elenco dei controlli server del controllo utente viene aggiornato, tutti i cataloghi vengono aggiornati in base al controllo utente.

La DeclarativeCatalogPart classe ha una serie di proprietà pubbliche che eseguono l'override delle proprietà ereditate. La maggior parte di queste proprietà non viene effettivamente utilizzata per il rendering del controllo; vengono sottoposti a override solo in modo che gli attributi di codice speciali possano essere impostati su di essi per nasconderli dagli strumenti di progettazione come Microsoft Visual Studio 2005. Non è consigliabile usare queste proprietà nascoste, perché non hanno alcun effetto sul rendering. Il fatto che siano nascosti da IntelliSense e dal riquadro Proprietà in Visual Studio consente agli sviluppatori di evitare di usarli per errore. Tutte queste proprietà nascoste sono indicate come tali nei rispettivi argomenti della Guida.

La DeclarativeCatalogPart classe include anche diversi metodi. Il GetAvailableWebPartDescriptions metodo recupera un WebPartDescription oggetto per ogni WebPart controllo nel catalogo, che consente a un DeclarativeCatalogPart controllo di visualizzare informazioni su ogni controllo server senza dover crearne un'istanza. Un altro metodo è il GetWebPart metodo . Questo metodo ottiene un'istanza di un determinato WebPart controllo, in base alla descrizione passata al metodo .

Annotazioni

Per migliorare l'accessibilità, il rendering del DeclarativeCatalogPart controllo viene eseguito all'interno di un <fieldset> elemento . L'elemento <fieldset> raggruppa il set correlato di controlli usati per la modifica nel DeclarativeCatalogPart controllo e facilita lo spostamento a schede tra questi controlli per entrambi gli agenti utente visivi (ad esempio i Web browser ordinari) e gli agenti utente orientati al riconoscimento vocale ,ad esempio il software di lettura dello schermo.

Costruttori

Nome Descrizione
DeclarativeCatalogPart()

Inizializza una nuova istanza della classe .

Proprietà

Nome Descrizione
AccessKey

Questa proprietà ereditata non viene utilizzata dal set di controlli Web part durante il rendering di un DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

Adapter

Ottiene l'adattatore specifico del browser per il controllo .

(Ereditato da Control)
AppRelativeTemplateSourceDirectory

Ottiene o imposta la directory virtuale relativa all'applicazione dell'oggetto Page o UserControl che contiene questo controllo.

(Ereditato da Control)
Attributes

Ottiene la raccolta di attributi arbitrari (solo per il rendering) che non corrispondono alle proprietà del controllo.

(Ereditato da WebControl)
BackColor

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

BackImageUrl

Questa proprietà ereditata non viene utilizzata dal set di controlli Web part durante il rendering di un DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

BindingContainer

Ottiene il controllo che contiene il data binding di questo controllo.

(Ereditato da Control)
BorderColor

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

BorderStyle

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

BorderWidth

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

ChildControlsCreated

Ottiene un valore che indica se sono stati creati i controlli figlio del controllo server.

(Ereditato da Control)
ChromeState

Ottiene o imposta un valore che indica se un controllo parte si trova in uno stato ridotto a icona o normale.

(Ereditato da Part)
ChromeType

Ottiene o imposta il tipo di bordo che incornicia un controllo Web part.

(Ereditato da Part)
ClientID

Ottiene l'ID di controllo per il markup HTML generato da ASP.NET.

(Ereditato da Control)
ClientIDMode

Ottiene o imposta l'algoritmo utilizzato per generare il valore della ClientID proprietà .

(Ereditato da Control)
ClientIDSeparator

Ottiene un valore di carattere che rappresenta il carattere separatore utilizzato nella ClientID proprietà .

(Ereditato da Control)
Context

Ottiene l'oggetto HttpContext associato al controllo server per la richiesta Web corrente.

(Ereditato da Control)
Controls

Ottiene un ControlCollection oggetto che contiene i controlli figlio per un controllo server specificato nella gerarchia dell'interfaccia utente.

(Ereditato da Part)
ControlStyle

Ottiene lo stile del controllo server Web. Questa proprietà viene utilizzata principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
ControlStyleCreated

Ottiene un valore che indica se è stato creato un Style oggetto per la ControlStyle proprietà . Questa proprietà viene usata principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
CssClass

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

DataItemContainer

Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataItemContainer.

(Ereditato da Control)
DataKeysContainer

Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataKeysControl.

(Ereditato da Control)
DefaultButton

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

Description

Ottiene o imposta una breve frase che riepiloga le operazioni del controllo parte da utilizzare nelle descrizioni comandi e nei cataloghi dei controlli parte.

(Ereditato da Part)
DesignMode

Ottiene un valore che indica se un controllo viene utilizzato in un'area di progettazione.

(Ereditato da Control)
Direction

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

DisplayTitle

Ottiene una stringa contenente il titolo corrente effettivo di un CatalogPart controllo .

(Ereditato da CatalogPart)
Enabled

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

EnableTheming

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

EnableViewState

Ottiene o imposta un valore che indica se il controllo server mantiene lo stato di visualizzazione e lo stato di visualizzazione di tutti i controlli figlio contenuti, al client richiedente.

(Ereditato da Control)
Events

Ottiene un elenco di delegati del gestore eventi per il controllo . Questa proprietà è di sola lettura.

(Ereditato da Control)
Font

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

ForeColor

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

GroupingText

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

HasAttributes

Ottiene un valore che indica se il controllo dispone di attributi impostati.

(Ereditato da WebControl)
HasChildViewState

Ottiene un valore che indica se i controlli figlio del controllo server corrente hanno impostazioni dello stato di visualizzazione salvate.

(Ereditato da Control)
Height

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

HorizontalAlign

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

ID

Ottiene o imposta l'identificatore programmatico assegnato al controllo server.

(Ereditato da Control)
IdSeparator

Ottiene il carattere utilizzato per separare gli identificatori di controllo.

(Ereditato da Control)
IsChildControlStateCleared

Ottiene un valore che indica se i controlli contenuti all'interno di questo controllo hanno uno stato di controllo.

(Ereditato da Control)
IsEnabled

Ottiene un valore che indica se il controllo è abilitato.

(Ereditato da WebControl)
IsTrackingViewState

Ottiene un valore che indica se il controllo server salva le modifiche apportate allo stato di visualizzazione.

(Ereditato da Control)
IsViewStateEnabled

Ottiene un valore che indica se lo stato di visualizzazione è abilitato per questo controllo.

(Ereditato da Control)
LoadViewStateByID

Ottiene un valore che indica se il controllo partecipa al caricamento dello stato di visualizzazione in ID base al posto dell'indice.

(Ereditato da Control)
NamingContainer

Ottiene un riferimento al contenitore di denominazione del controllo server, che crea uno spazio dei nomi univoco per la differenziazione tra i controlli server con lo stesso ID valore della proprietà.

(Ereditato da Control)
Page

Ottiene un riferimento all'istanza Page che contiene il controllo server.

(Ereditato da Control)
Parent

Ottiene un riferimento al controllo padre del controllo server nella gerarchia dei controlli pagina.

(Ereditato da Control)
RenderingCompatibility

Ottiene un valore che specifica la versione ASP.NET con cui è stato eseguito il rendering del codice HTML sarà compatibile.

(Ereditato da Control)
ScrollBars

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

Site

Ottiene informazioni sul contenitore che ospita il controllo corrente durante il rendering in un'area di progettazione.

(Ereditato da Control)
SkinID

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

Style

Ottiene una raccolta di attributi di testo di cui verrà eseguito il rendering come attributo di stile sul tag esterno del controllo server Web.

(Ereditato da WebControl)
SupportsDisabledAttribute

Ottiene un valore che indica se il controllo deve impostare l'attributo dell'elemento disabled HTML sottoposto a rendering su "disabled" quando la proprietà del IsEnabled controllo è false.

(Ereditato da Panel)
TabIndex

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

TagKey

Ottiene il HtmlTextWriterTag valore che corrisponde a questo controllo server Web. Questa proprietà viene utilizzata principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
TagName

Ottiene il nome del tag di controllo. Questa proprietà viene utilizzata principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
TemplateControl

Ottiene o imposta un riferimento al modello che contiene questo controllo.

(Ereditato da Control)
TemplateSourceDirectory

Ottiene la directory virtuale dell'oggetto Page o UserControl che contiene il controllo server corrente.

(Ereditato da Control)
Title

Ottiene o imposta il titolo visualizzato nella barra del titolo del controllo.

ToolTip

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

UniqueID

Ottiene l'identificatore univoco e qualificato gerarchicamente per il controllo server.

(Ereditato da Control)
ValidateRequestMode

Ottiene o imposta un valore che indica se il controllo controlla l'input client dal browser per individuare valori potenzialmente pericolosi.

(Ereditato da Control)
ViewState

Ottiene un dizionario di informazioni sullo stato che consente di salvare e ripristinare lo stato di visualizzazione di un controllo server tra più richieste per la stessa pagina.

(Ereditato da Control)
ViewStateIgnoresCase

Ottiene un valore che indica se l'oggetto StateBag non fa distinzione tra maiuscole e minuscole.

(Ereditato da Control)
ViewStateMode

Ottiene o imposta la modalità dello stato di visualizzazione di questo controllo.

(Ereditato da Control)
Visible

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

WebPartManager

Ottiene un riferimento all'istanza corrente della WebPartManager classe .

(Ereditato da CatalogPart)
WebPartsListUserControlPath

Ottiene o imposta il percorso di un controllo utente che contiene un elenco di WebPart o altri controlli server per il catalogo.

WebPartsTemplate

Ottiene o imposta un riferimento a un modello che contiene i WebPart controlli dichiarati in un catalogo.

Width

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

Wrap

Questa proprietà ereditata non viene utilizzata dal DeclarativeCatalogPart controllo . La proprietà viene sottoposta a override solo allo scopo di impedirne la visualizzazione negli strumenti di progettazione di Microsoft Visual Studio 2005.

Zone

Ottiene un riferimento alla CatalogZoneBase zona che contiene un CatalogPart controllo .

(Ereditato da CatalogPart)

Metodi

Nome Descrizione
AddAttributesToRender(HtmlTextWriter)

Aggiunge informazioni sull'immagine di sfondo, l'allineamento, il ritorno a capo e la direzione all'elenco di attributi di cui eseguire il rendering.

(Ereditato da Panel)
AddedControl(Control, Int32)

Chiamato dopo l'aggiunta di un controllo figlio all'insieme Controls dell'oggetto Control .

(Ereditato da Control)
AddParsedSubObject(Object)

Notifica al controllo server che un elemento, XML o HTML, è stato analizzato e aggiunge l'elemento all'oggetto del ControlCollection controllo server.

(Ereditato da Control)
ApplyStyle(Style)

Copia tutti gli elementi non in blocchi dello stile specificato nel controllo Web, sovrascrivendo tutti gli elementi di stile esistenti del controllo. Questo metodo viene usato principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
ApplyStyleSheetSkin(Page)

Applica le proprietà di stile definite nel foglio di stile della pagina al controllo .

(Ereditato da Control)
BeginRenderTracing(TextWriter, Object)

Inizia la traccia in fase di progettazione dei dati di rendering.

(Ereditato da Control)
BuildProfileTree(String, Boolean)

Raccoglie informazioni sul controllo server e le distribuisce alla Trace proprietà da visualizzare quando la traccia è abilitata per la pagina.

(Ereditato da Control)
ClearCachedClientID()

Imposta il valore memorizzato nella ClientID cache su null.

(Ereditato da Control)
ClearChildControlState()

Elimina le informazioni sullo stato del controllo per i controlli figlio del controllo server.

(Ereditato da Control)
ClearChildState()

Elimina le informazioni sullo stato di visualizzazione e sullo stato del controllo per tutti i controlli figlio del controllo server.

(Ereditato da Control)
ClearChildViewState()

Elimina le informazioni sullo stato di visualizzazione per tutti i controlli figlio del controllo server.

(Ereditato da Control)
ClearEffectiveClientIDMode()

Imposta la ClientIDMode proprietà dell'istanza del controllo corrente e di tutti i controlli figlio su Inherit.

(Ereditato da Control)
CopyBaseAttributes(WebControl)

Copia le proprietà non incapsulate dall'oggetto Style dal controllo server Web specificato al controllo server Web da cui viene chiamato questo metodo. Questo metodo viene usato principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
CreateChildControls()

Chiamato dal framework di pagina ASP.NET per notificare ai controlli server che usano l'implementazione basata sulla composizione per creare tutti i controlli figlio che contengono in preparazione alla registrazione o al rendering.

(Ereditato da Control)
CreateControlCollection()

Crea un nuovo ControlCollection oggetto per contenere i controlli figlio (sia letterali che server) del controllo server.

(Ereditato da Control)
CreateControlStyle()

Crea un oggetto di stile utilizzato internamente dal Panel controllo per implementare tutte le proprietà correlate allo stile.

(Ereditato da Panel)
DataBind()

Associa un'origine dati al controllo server richiamato e a tutti i relativi controlli figlio.

(Ereditato da Part)
DataBind(Boolean)

Associa un'origine dati al controllo server richiamato e a tutti i relativi controlli figlio con un'opzione per generare l'evento DataBinding .

(Ereditato da Control)
DataBindChildren()

Associa un'origine dati ai controlli figlio del controllo server.

(Ereditato da Control)
Dispose()

Consente a un controllo server di eseguire la pulizia finale prima che venga rilasciata dalla memoria.

(Ereditato da Control)
EndRenderTracing(TextWriter, Object)

Termina la traccia in fase di progettazione dei dati di rendering.

(Ereditato da Control)
EnsureChildControls()

Determina se il controllo server contiene controlli figlio. In caso contrario, crea controlli figlio.

(Ereditato da Control)
EnsureID()

Crea un identificatore per i controlli a cui non è assegnato un identificatore.

(Ereditato da Control)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindControl(String, Int32)

Cerca nel contenitore di denominazione corrente un controllo server con l'oggetto specificato id e un numero intero, specificato nel pathOffset parametro , che facilita la ricerca. Non è consigliabile eseguire l'override di questa versione del FindControl metodo .

(Ereditato da Control)
FindControl(String)

Cerca nel contenitore di denominazione corrente un controllo server con il parametro specificato id .

(Ereditato da Control)
Focus()

Imposta lo stato attivo dell'input su un controllo .

(Ereditato da Control)
GetAvailableWebPartDescriptions()

Restituisce un insieme di descrizioni dei controlli disponibili WebPart in un catalogo.

GetDesignModeState()

Recupera lo stato corrente della zona padre di un CatalogPart controllo.

(Ereditato da CatalogPart)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetRouteUrl(Object)

Ottiene l'URL che corrisponde a un set di parametri di route.

(Ereditato da Control)
GetRouteUrl(RouteValueDictionary)

Ottiene l'URL che corrisponde a un set di parametri di route.

(Ereditato da Control)
GetRouteUrl(String, Object)

Ottiene l'URL che corrisponde a un set di parametri di route e un nome di route.

(Ereditato da Control)
GetRouteUrl(String, RouteValueDictionary)

Ottiene l'URL che corrisponde a un set di parametri di route e un nome di route.

(Ereditato da Control)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetUniqueIDRelativeTo(Control)

Restituisce la parte con prefisso della UniqueID proprietà del controllo specificato.

(Ereditato da Control)
GetWebPart(WebPartDescription)

Restituisce un riferimento a un WebPart controllo in base al valore della descrizione passata al metodo .

HasControls()

Determina se il controllo server contiene controlli figlio.

(Ereditato da Control)
HasEvents()

Restituisce un valore che indica se gli eventi vengono registrati per il controllo o per i controlli figlio.

(Ereditato da Control)
IsLiteralContent()

Determina se il controllo server contiene solo contenuto letterale.

(Ereditato da Control)
LoadControlState(Object)

Ripristina le informazioni sullo stato del controllo da una richiesta di pagina precedente salvata dal SaveControlState() metodo .

(Ereditato da Control)
LoadViewState(Object)

Ripristina le informazioni sullo stato di visualizzazione da una richiesta precedente salvata con il SaveViewState() metodo .

(Ereditato da WebControl)
MapPathSecure(String)

Recupera il percorso fisico a cui viene mappato un percorso virtuale, assoluto o relativo.

(Ereditato da Control)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MergeStyle(Style)

Copia tutti gli elementi non in blocchi dello stile specificato nel controllo Web, ma non sovrascriverà gli elementi di stile esistenti del controllo. Questo metodo viene usato principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
OnBubbleEvent(Object, EventArgs)

Determina se l'evento per il controllo server viene passato alla gerarchia di controllo server dell'interfaccia utente della pagina.

(Ereditato da Control)
OnDataBinding(EventArgs)

Genera l'evento DataBinding.

(Ereditato da Control)
OnInit(EventArgs)

Genera l'evento Init.

(Ereditato da Control)
OnLoad(EventArgs)

Genera l'evento Load.

(Ereditato da Control)
OnPreRender(EventArgs)

Genera l'evento PreRender.

(Ereditato da CatalogPart)
OnUnload(EventArgs)

Genera l'evento Unload.

(Ereditato da Control)
OpenFile(String)

Ottiene un Stream oggetto utilizzato per leggere un file.

(Ereditato da Control)
RaiseBubbleEvent(Object, EventArgs)

Assegna tutte le origini dell'evento e le relative informazioni all'elemento padre del controllo.

(Ereditato da Control)
RemovedControl(Control)

Chiamato dopo che un controllo figlio viene rimosso dall'insieme Controls dell'oggetto Control .

(Ereditato da Control)
Render(HtmlTextWriter)

Esegue il rendering del controllo nel writer HTML specificato.

(Ereditato da WebControl)
RenderBeginTag(HtmlTextWriter)

Esegue il rendering del tag di apertura HTML del Panel controllo nel writer specificato.

(Ereditato da Panel)
RenderChildren(HtmlTextWriter)

Restituisce il contenuto degli elementi figlio di un controllo server in un oggetto fornito HtmlTextWriter , che scrive il contenuto di cui eseguire il rendering nel client.

(Ereditato da Control)
RenderContents(HtmlTextWriter)

Esegue il rendering del contenuto del controllo nel writer specificato. Questo metodo viene usato principalmente dagli sviluppatori di controlli.

(Ereditato da WebControl)
RenderControl(HtmlTextWriter, ControlAdapter)

Restituisce il contenuto del controllo server a un oggetto fornito HtmlTextWriter utilizzando un oggetto fornito ControlAdapter .

(Ereditato da Control)
RenderControl(HtmlTextWriter)

Restituisce il contenuto del controllo server in un oggetto fornito HtmlTextWriter e archivia le informazioni di traccia sul controllo se la traccia è abilitata.

(Ereditato da Control)
RenderEndTag(HtmlTextWriter)

Esegue il rendering del tag di chiusura HTML del Panel controllo nel writer specificato.

(Ereditato da Panel)
ResolveAdapter()

Ottiene l'adattatore di controllo responsabile del rendering del controllo specificato.

(Ereditato da Control)
ResolveClientUrl(String)

Ottiene un URL che può essere utilizzato dal browser.

(Ereditato da Control)
ResolveUrl(String)

Converte un URL in un URL utilizzabile nel client richiedente.

(Ereditato da Control)
SaveControlState()

Salva le modifiche apportate allo stato del controllo server dopo il postback della pagina al server.

(Ereditato da Control)
SaveViewState()

Salva qualsiasi stato modificato dopo che il TrackViewState() metodo è stato richiamato.

(Ereditato da WebControl)
SetDesignModeState(IDictionary)

Imposta i dati in fase di progettazione per un controllo .

(Ereditato da CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Assegna un delegato del gestore eventi per eseguire il rendering del controllo server e del relativo contenuto nel controllo padre.

(Ereditato da Control)
SetTraceData(Object, Object, Object)

Imposta i dati di traccia per la traccia in fase di progettazione dei dati di rendering, usando l'oggetto tracciato, la chiave dei dati di traccia e il valore dei dati di traccia.

(Ereditato da Control)
SetTraceData(Object, Object)

Imposta i dati di traccia per la traccia in fase di progettazione dei dati di rendering, usando la chiave dei dati di traccia e il valore dei dati di traccia.

(Ereditato da Control)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrackViewState()

Fa in modo che il controllo possa tenere traccia delle modifiche apportate allo stato di visualizzazione in modo che possano essere archiviate nella proprietà dell'oggetto ViewState .

(Ereditato da WebControl)

Eventi

Nome Descrizione
DataBinding

Si verifica quando il controllo server viene associato a un'origine dati.

(Ereditato da Control)
Disposed

Si verifica quando viene rilasciato un controllo server dalla memoria, ovvero l'ultima fase del ciclo di vita del controllo server quando viene richiesta una pagina ASP.NET.

(Ereditato da Control)
Init

Si verifica quando il controllo server viene inizializzato, ovvero il primo passaggio del ciclo di vita.

(Ereditato da Control)
Load

Si verifica quando il controllo server viene caricato nell'oggetto Page .

(Ereditato da Control)
PreRender

Si verifica dopo il caricamento dell'oggetto Control , ma prima del rendering.

(Ereditato da Control)
Unload

Si verifica quando il controllo server viene scaricato dalla memoria.

(Ereditato da Control)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IAttributeAccessor.GetAttribute(String)

Ottiene un attributo del controllo Web con il nome specificato.

(Ereditato da WebControl)
IAttributeAccessor.SetAttribute(String, String)

Imposta un attributo del controllo Web sul nome e sul valore specificati.

(Ereditato da WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Consente allo sviluppatore di una finestra di progettazione di un controllo di parte composita di ricreare i controlli figlio del controllo nell'area di progettazione.

(Ereditato da Part)
IControlBuilderAccessor.ControlBuilder

Per una descrizione di questo membro, vedere ControlBuilder.

(Ereditato da Control)
IControlDesignerAccessor.GetDesignModeState()

Per una descrizione di questo membro, vedere GetDesignModeState().

(Ereditato da Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Per una descrizione di questo membro, vedere SetDesignModeState(IDictionary).

(Ereditato da Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Per una descrizione di questo membro, vedere SetOwnerControl(Control).

(Ereditato da Control)
IControlDesignerAccessor.UserData

Per una descrizione di questo membro, vedere UserData.

(Ereditato da Control)
IDataBindingsAccessor.DataBindings

Per una descrizione di questo membro, vedere DataBindings.

(Ereditato da Control)
IDataBindingsAccessor.HasDataBindings

Per una descrizione di questo membro, vedere HasDataBindings.

(Ereditato da Control)
IExpressionsAccessor.Expressions

Per una descrizione di questo membro, vedere Expressions.

(Ereditato da Control)
IExpressionsAccessor.HasExpressions

Per una descrizione di questo membro, vedere HasExpressions.

(Ereditato da Control)
IParserAccessor.AddParsedSubObject(Object)

Per una descrizione di questo membro, vedere AddParsedSubObject(Object).

(Ereditato da Control)

Metodi di estensione

Nome Descrizione
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

Abilita il comportamento dei dati dinamici per il controllo dati specificato.

EnableDynamicData(INamingContainer, Type, Object)

Abilita il comportamento dei dati dinamici per il controllo dati specificato.

EnableDynamicData(INamingContainer, Type)

Abilita il comportamento dei dati dinamici per il controllo dati specificato.

FindDataSourceControl(Control)

Restituisce l'origine dati associata al controllo dati per il controllo specificato.

FindFieldTemplate(Control, String)

Restituisce il modello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato.

FindMetaTable(Control)

Restituisce l'oggetto metatable per il controllo dati contenitore.

GetDefaultValues(INamingContainer)

Ottiene la raccolta dei valori predefiniti per il controllo dati specificato.

GetMetaTable(INamingContainer)

Ottiene i metadati della tabella per il controllo dati specificato.

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

Imposta i metadati della tabella e il mapping dei valori predefiniti per il controllo dati specificato.

SetMetaTable(INamingContainer, MetaTable, Object)

Imposta i metadati della tabella e il mapping dei valori predefiniti per il controllo dati specificato.

SetMetaTable(INamingContainer, MetaTable)

Imposta i metadati della tabella per il controllo dati specificato.

TryGetMetaTable(INamingContainer, MetaTable)

Determina se i metadati della tabella sono disponibili.

Si applica a

Vedi anche