DeclarativeCatalogPart Klasa

Definicja

Umożliwia deweloperom dodawanie wykazu WebPart kontrolek lub innych kontrolek serwera do strony sieci Web w formacie deklaratywnej trwałości strony. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
DeclarativeCatalogPart

Przykłady

W poniższym przykładzie kodu pokazano, jak deklaratywnie używać kontrolki DeclarativeCatalogPart na stronie sieci Web. W przykładzie przedstawiono cztery części:

  • Kontrolka użytkownika, która umożliwia zmianę trybów wyświetlania na stronie składników Web Part.

  • Strona sieci Web zawierająca kontrolkę CatalogZone i kontrolkę DeclarativeCatalogPart .

  • Plik kodu źródłowego zawierający dwie kontrolki niestandardowe WebPart .

  • Wyjaśnienie sposobu działania przykładu podczas ładowania strony w przeglądarce.

Pierwszą częścią tego przykładu kodu jest kontrolka użytkownika, która umożliwia zmianę trybów wyświetlania na stronie. Aby uzyskać szczegółowe informacje o trybach wyświetlania i opisie kodu źródłowego w tej kontrolce, zobacz Przewodnik: zmienianie trybów wyświetlania na stronie składników 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>

Drugą częścią przykładu kodu jest strona sieci Web. W górnej części strony znajdują się dwie Register dyrektywy, jedna dla kontrolki użytkownika i jedna dla skompilowanego składnika zawierającego dwa kontrolki niestandardowe WebPart . Zwróć uwagę, że strona ma deklaratywne odwołanie do DeclarativeCatalogPart kontrolki, zagnieżdżone w odpowiedniej hierarchii elementów deklaratywnych zgodnie z opisem w sekcji Uwagi w tym temacie. Element <asp:declarativecatalogpart> zawiera element, który z kolei zawiera <webpartstemplate> odwołania do standardowej kontrolki ASP.NET Calendar i dwóch kontrolek niestandardowych WebPart . Są to kontrolki, które użytkownicy mogą wybrać z wykazu. Strona zawiera również możliwość edycji z kontrolką zadeklarowaną PropertyGridEditorPart na stronie. Ta kontrolka umożliwia użytkownikom edytowanie niektórych właściwości kontrolek niestandardowych WebPart po dodaniu ich do strony, a po przełączeniu strony do trybu edycji.

<%@ 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>

Trzecią częścią przykładu kodu jest kod źródłowy dla tych dwóch WebPart kontrolek. Zwróć uwagę, że niektóre właściwości tych kontrolek są oznaczone atrybutem WebBrowsable . Umożliwia to dynamiczne generowanie PropertyGridEditorPart interfejsu użytkownika dla użytkownika w celu edytowania tych właściwości, gdy kontrolki są w trybie edycji. Właściwości są również oznaczone atrybutem WebDisplayName , aby określić tekst etykiety wyświetlanej obok każdej kontrolki w interfejsie użytkownika edycji.

Aby przykład kodu został uruchomiony, należy skompilować ten kod źródłowy. Można je jawnie skompilować i umieścić wynikowy zestaw w folderze Bin witryny sieci Web lub globalnej pamięci podręcznej zestawów. Możesz też umieścić kod źródłowy w folderze App_Code witryny, w którym będzie dynamicznie kompilowany w czasie wykonywania. Aby zapoznać się z przewodnikiem, który pokazuje obie metody kompilowania, zobacz Przewodnik: opracowywanie i używanie niestandardowej kontroli serwera sieci Web.

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

Po załadowaniu strony w przeglądarce wybierz pozycję Tryb wykazu w kontrolce listy rozwijanej Tryb wyświetlania , aby przełączyć się do trybu wykazu. W trybie wykazu można zobaczyć kontrolki, które są dostępne do dodania do strony. Dodaj wszystkie trzy kontrolki, a następnie użyj listy rozwijanej Tryb wyświetlania , aby zwrócić stronę do trybu przeglądania. Trzy kontrolki są wyświetlane na stronie. Jeśli używasz listy rozwijanej Tryb wyświetlania i przełączysz stronę do trybu edycji, możesz kliknąć menu czasowników (strzałkę w dół) na pasku tytułu kontrolki Składnik Web Part informacje o użytkowniku , a następnie kliknąć przycisk Edytuj , aby edytować kontrolkę. Gdy interfejs użytkownika edycji jest widoczny, możesz zobaczyć kontrolkę PropertyGridEditorPart . Zwróć uwagę, że dla każdej właściwości klasy oznaczonej UserInfoWebPart atrybutem jest renderowana kontrolka WebBrowsable . Jeśli wprowadzisz pewne zmiany w interfejsie użytkownika edycji i klikniesz przycisk Zastosuj , możesz użyć listy rozwijanej Tryb wyświetlania , aby powrócić do trybu przeglądania i zobaczyć pełny efekt zmian edycji.

Uwagi

Podobnie jak w przypadku stref zorientowanych na narzędzia w zestawie kontrolek składników Web Part (aby uzyskać szczegółowe informacje, zobacz ToolZone omówienie klasy), istnieją kontrolki zorientowane Part na narzędzia, a każda z tych kontrolek musi znajdować się w określonym typie strefy narzędzi. Kontrolki części zorientowanej na narzędzia w zestawie kontrolek składników Web Part mają dwie cechy wyróżniające:

  • Są to kontrolki pomocnicze, które umożliwiają użytkownikom końcowym personalizowanie kontrolek na stronie składników Web Part.

  • Są one widoczne tylko w niektórych trybach wyświetlania.

DeclarativeCatalogPart jest częścią kontrolki, która musi znajdować się w CatalogZoneBase typie strefy, takiej jak CatalogZone strefa dostarczona z zestawem kontrolek składników Web Part. Kontrolka DeclarativeCatalogPart staje się widoczna tylko wtedy, gdy strona sieci Web jest w trybie wyświetlania wykazu.

Kontrolka DeclarativeCatalogPart umożliwia deweloperom deklaratywne dodawanie zestawu kontrolek serwera do wykazu na stronie sieci Web. Wykaz w zestawie kontrolek składników WebPart Web Part jest po prostu listą lub innymi kontrolkami serwera, które są widoczne, gdy strona jest w trybie wyświetlania wykazu. Użytkownik może wybierać kontrolki z listy i dodawać je do strony sieci Web, co skutecznie daje użytkownikom możliwość zmiany zestawu kontrolek i funkcji na stronie.

Uwaga

Użytkownicy mogą dodawać wiele wystąpień tej samej kontrolki w katalogu do strony sieci Web.

Zaletą DeclarativeCatalogPart używania kontrolki do tworzenia wykazu kontrolek serwera jest to, że nie wymaga żadnego kodowania. Deweloperzy stron mogą pracować z kontrolką w całości w formacie deklaratywnym (lub trwałości strony), stąd nazwa kontrolki.

Kontrolka DeclarativeCatalogPart ma przydatną właściwość, która umożliwia deweloperom skonfigurowanie wykazu kontrolek, które mogą być używane w całej witrynie. Zamiast deklarować poszczególne kontrolki serwera w kontrolce DeclarativeCatalogPart , deweloper może ustawić WebPartsListUserControlPath wartość właściwości na ścieżkę kontrolki użytkownika, która zawiera listę kontrolek serwera, które powinny znajdować się w katalogu. W czasie wykonywania kontrolki serwera, do których odwołuje się kontrolka użytkownika, są ładowane w wykazie. W ten sposób wiele stron lub witryn może odwoływać się do tej samej kontrolki użytkownika w celu utworzenia wykazu. Po zaktualizowaniu listy kontrolek serwera kontrolki użytkownika wszystkie katalogi zostaną zaktualizowane na podstawie kontrolki użytkownika.

Klasa DeclarativeCatalogPart ma wiele właściwości publicznych, które zastępują dziedziczone właściwości. Większość tych właściwości nie jest faktycznie używana do renderowania kontrolki; Są one zastępowane tylko tak, aby można było ustawić na nich specjalne atrybuty kodu, aby ukryć je przed narzędziami projektowymi, takimi jak Microsoft Visual Studio 2005. Nie należy używać tych ukrytych właściwości, ponieważ nie mają wpływu na renderowanie. Fakt, że są one ukryte przed funkcją IntelliSense, a okienko Właściwości w programie Visual Studio pomaga deweloperom unikać używania ich przez pomyłkę. Wszystkie te ukryte właściwości są zanotowane jako takie w odpowiednich tematach Pomocy.

Klasa DeclarativeCatalogPart ma również kilka metod. Metoda GetAvailableWebPartDescriptions pobiera WebPartDescription obiekt dla każdej kontrolki w wykazie, co umożliwia kontrolce DeclarativeCatalogPart wyświetlanie informacji o każdej WebPart kontrolce serwera bez konieczności tworzenia wystąpienia. Inną metodą jest GetWebPart metoda . Ta metoda pobiera wystąpienie określonej WebPart kontrolki na podstawie opisu przekazanego do metody.

Uwaga

Aby zwiększyć dostępność, kontrolka DeclarativeCatalogPart jest renderowana w elemecie <fieldset> . Element <fieldset> grupuje powiązany zestaw kontrolek używany do edycji w kontrolce DeclarativeCatalogPart i ułatwia nawigację kartową wśród tych kontrolek zarówno dla agentów użytkownika wizualnego (takich jak zwykłe przeglądarki sieci Web) i agentów użytkowników zorientowanych na mowę (takich jak oprogramowanie do czytania ekranu).

Konstruktory

DeclarativeCatalogPart()

Inicjuje nowe wystąpienie klasy.

Właściwości

AccessKey

Ta dziedziczona właściwość nie jest używana przez zestaw kontrolek składników Web Part podczas renderowania kontrolki DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

Adapter

Pobiera kartę specyficzną dla przeglądarki dla kontrolki.

(Odziedziczone po Control)
AppRelativeTemplateSourceDirectory

Pobiera lub ustawia względny katalog Page wirtualny aplikacji obiektu lub UserControl , który zawiera tę kontrolkę.

(Odziedziczone po Control)
Attributes

Pobiera kolekcję dowolnych atrybutów (tylko do renderowania), które nie odpowiadają właściwościom kontrolki.

(Odziedziczone po WebControl)
BackColor

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

BackImageUrl

Ta dziedziczona właściwość nie jest używana przez zestaw kontrolek składników Web Part podczas renderowania kontrolki DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

BindingContainer

Pobiera kontrolkę zawierającą powiązanie danych tej kontrolki.

(Odziedziczone po Control)
BorderColor

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

BorderStyle

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

BorderWidth

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

ChildControlsCreated

Pobiera wartość wskazującą, czy kontrolka podrzędna kontrolki serwera została utworzona.

(Odziedziczone po Control)
ChromeState

Pobiera lub ustawia, czy kontrolka części jest w stanie zminimalizowanym, czy normalnym.

(Odziedziczone po Part)
ChromeType

Pobiera lub ustawia typ obramowania, który zawiera kontrolkę składników Web Part.

(Odziedziczone po Part)
ClientID

Pobiera identyfikator kontrolki dla znaczników HTML generowanych przez ASP.NET.

(Odziedziczone po Control)
ClientIDMode

Pobiera lub ustawia algorytm używany do generowania wartości ClientID właściwości.

(Odziedziczone po Control)
ClientIDSeparator

Pobiera wartość znaku reprezentującą znak separatora ClientID używany we właściwości .

(Odziedziczone po Control)
Context

HttpContext Pobiera obiekt skojarzony z kontrolką serwera dla bieżącego żądania sieci Web.

(Odziedziczone po Control)
Controls

ControlCollection Pobiera obiekt zawierający kontrolki podrzędne dla określonej kontrolki serwera w hierarchii interfejsu użytkownika.

(Odziedziczone po Part)
ControlStyle

Pobiera styl kontrolki serwera sieci Web. Ta właściwość jest używana głównie przez deweloperów sterujących.

(Odziedziczone po WebControl)
ControlStyleCreated

Pobiera wartość wskazującą Style , czy obiekt został utworzony dla ControlStyle właściwości. Ta właściwość jest używana głównie przez deweloperów kontrolek.

(Odziedziczone po WebControl)
CssClass

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

DataItemContainer

Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataItemContainerelement .

(Odziedziczone po Control)
DataKeysContainer

Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataKeysControlelement .

(Odziedziczone po Control)
DefaultButton

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

Description

Pobiera lub ustawia krótką frazę, która podsumowuje działanie kontrolki części do użycia w etykietkach narzędzi i katalogach kontrolek części.

(Odziedziczone po Part)
DesignMode

Pobiera wartość wskazującą, czy kontrolka jest używana na powierzchni projektowej.

(Odziedziczone po Control)
Direction

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

DisplayTitle

Pobiera ciąg zawierający rzeczywisty bieżący tytuł kontrolki CatalogPart .

(Odziedziczone po CatalogPart)
Enabled

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

EnableTheming

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

EnableViewState

Pobiera lub ustawia wartość wskazującą, czy kontrolka serwera utrzymuje stan widoku, oraz stan widoku wszystkich kontrolek podrzędnych, które zawiera, do klienta żądającego.

(Odziedziczone po Control)
Events

Pobiera listę delegatów programu obsługi zdarzeń dla kontrolki. Ta właściwość jest tylko do odczytu.

(Odziedziczone po Control)
Font

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

ForeColor

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

GroupingText

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

HasAttributes

Pobiera wartość wskazującą, czy kontrolka ma ustawione atrybuty.

(Odziedziczone po WebControl)
HasChildViewState

Pobiera wartość wskazującą, czy kontrolka podrzędna bieżącej kontrolki serwera ma jakiekolwiek zapisane ustawienia stanu widoku.

(Odziedziczone po Control)
Height

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

HorizontalAlign

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

ID

Pobiera lub ustawia identyfikator programowy przypisany do kontrolki serwera.

(Odziedziczone po Control)
IdSeparator

Pobiera znak używany do oddzielania identyfikatorów kontrolek.

(Odziedziczone po Control)
IsChildControlStateCleared

Pobiera wartość wskazującą, czy kontrolki zawarte w tej kontrolce mają stan kontroli.

(Odziedziczone po Control)
IsEnabled

Pobiera wartość wskazującą, czy kontrolka jest włączona.

(Odziedziczone po WebControl)
IsTrackingViewState

Pobiera wartość wskazującą, czy kontrolka serwera zapisuje zmiany w stanie widoku.

(Odziedziczone po Control)
IsViewStateEnabled

Pobiera wartość wskazującą, czy stan widoku jest włączony dla tej kontrolki.

(Odziedziczone po Control)
LoadViewStateByID

Pobiera wartość wskazującą, czy kontrolka uczestniczy w ładowaniu stanu ID widoku zamiast indeksu.

(Odziedziczone po Control)
NamingContainer

Pobiera odwołanie do kontenera nazewnictwa kontrolki serwera, który tworzy unikatową przestrzeń nazw do różnicowania między kontrolkami serwera o tej samej ID wartości właściwości.

(Odziedziczone po Control)
Page

Pobiera odwołanie do Page wystąpienia zawierającego kontrolkę serwera.

(Odziedziczone po Control)
Parent

Pobiera odwołanie do kontrolki nadrzędnej kontrolki serwera w hierarchii kontrolek strony.

(Odziedziczone po Control)
RenderingCompatibility

Pobiera wartość określającą wersję ASP.NET, z którą renderowany kod HTML będzie zgodny.

(Odziedziczone po Control)
ScrollBars

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

Site

Pobiera informacje o kontenerze hostujące bieżącą kontrolkę podczas renderowania na powierzchni projektowej.

(Odziedziczone po Control)
SkinID

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

Style

Pobiera kolekcję atrybutów tekstowych, które będą renderowane jako atrybut stylu na zewnętrznym tagu kontrolki serwera sieci Web.

(Odziedziczone po WebControl)
SupportsDisabledAttribute

Pobiera wartość wskazującą, czy kontrolka powinna ustawić disabled atrybut renderowanego elementu HTML na wartość "disabled", gdy właściwość kontrolki IsEnabled to false.

(Odziedziczone po Panel)
TabIndex

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

TagKey

Pobiera wartość odpowiadającą HtmlTextWriterTag tej kontroli serwera sieci Web. Ta właściwość jest używana głównie przez deweloperów sterujących.

(Odziedziczone po WebControl)
TagName

Pobiera nazwę tagu kontrolki. Ta właściwość jest używana głównie przez deweloperów sterujących.

(Odziedziczone po WebControl)
TemplateControl

Pobiera lub ustawia odwołanie do szablonu zawierającego tę kontrolkę.

(Odziedziczone po Control)
TemplateSourceDirectory

Pobiera katalog wirtualny elementu Page lub UserControl , który zawiera bieżącą kontrolkę serwera.

(Odziedziczone po Control)
Title

Pobiera lub ustawia tytuł wyświetlany na pasku tytułu kontrolki.

ToolTip

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

UniqueID

Pobiera unikatowy, hierarchicznie kwalifikowany identyfikator kontroli serwera.

(Odziedziczone po Control)
ValidateRequestMode

Pobiera lub ustawia wartość wskazującą, czy kontrolka sprawdza dane wejściowe klienta z przeglądarki pod kątem potencjalnie niebezpiecznych wartości.

(Odziedziczone po Control)
ViewState

Pobiera słownik informacji o stanie, który umożliwia zapisanie i przywrócenie stanu widoku kontrolki serwera w wielu żądaniach dla tej samej strony.

(Odziedziczone po Control)
ViewStateIgnoresCase

Pobiera wartość wskazującą, czy StateBag obiekt jest niewrażliwy na wielkość liter.

(Odziedziczone po Control)
ViewStateMode

Pobiera lub ustawia tryb stanu widoku tej kontrolki.

(Odziedziczone po Control)
Visible

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

WebPartManager

Pobiera odwołanie do bieżącego WebPartManager wystąpienia klasy.

(Odziedziczone po CatalogPart)
WebPartsListUserControlPath

Pobiera lub ustawia ścieżkę do kontrolki użytkownika zawierającej WebPart listę lub inne kontrolki serwera dla wykazu.

WebPartsTemplate

Pobiera lub ustawia odwołanie do szablonu zawierającego WebPart kontrolki zadeklarowane w wykazie.

Width

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

Wrap

Ta dziedziczona właściwość nie jest używana przez kontrolkę DeclarativeCatalogPart . Właściwość jest zastępowana tylko w celu uniemożliwienia jej wyświetlania w narzędziach projektanta programu Microsoft Visual Studio 2005.

Zone

Pobiera odwołanie do CatalogZoneBase strefy zawierającej kontrolkę CatalogPart .

(Odziedziczone po CatalogPart)

Metody

AddAttributesToRender(HtmlTextWriter)

Dodaje informacje o obrazie tła, wyrównaniu, zawijeniu i kierunku do listy atrybutów do renderowania.

(Odziedziczone po Panel)
AddedControl(Control, Int32)

Wywoływana po dodaniu kontrolki podrzędnej do Controls kolekcji Control obiektu.

(Odziedziczone po Control)
AddParsedSubObject(Object)

Powiadamia kontrolkę serwera, że element , XML lub HTML, został przeanalizowany i dodaje element do obiektu kontrolki ControlCollection serwera.

(Odziedziczone po Control)
ApplyStyle(Style)

Kopiuje wszystkie elementy inne niż elementy określonego stylu do kontrolki Sieci Web, zastępując wszystkie istniejące elementy stylu kontrolki. Ta metoda jest używana głównie przez deweloperów kontrolek.

(Odziedziczone po WebControl)
ApplyStyleSheetSkin(Page)

Stosuje właściwości stylu zdefiniowane w arkuszu stylów strony do kontrolki.

(Odziedziczone po Control)
BeginRenderTracing(TextWriter, Object)

Rozpoczyna śledzenie czasu projektowania danych renderowania.

(Odziedziczone po Control)
BuildProfileTree(String, Boolean)

Zbiera informacje o kontrolce serwera i dostarcza ją do Trace właściwości, która ma być wyświetlana po włączeniu śledzenia dla strony.

(Odziedziczone po Control)
ClearCachedClientID()

Ustawia wartość buforowanej ClientID na null.

(Odziedziczone po Control)
ClearChildControlState()

Usuwa informacje o stanie kontroli dla kontrolek podrzędnych kontrolki serwera.

(Odziedziczone po Control)
ClearChildState()

Usuwa informacje o stanie widoku i stanie kontroli dla wszystkich kontrolek podrzędnych kontrolki serwera.

(Odziedziczone po Control)
ClearChildViewState()

Usuwa informacje o stanie widoku dla wszystkich kontrolek podrzędnych kontrolki serwera.

(Odziedziczone po Control)
ClearEffectiveClientIDMode()

ClientIDMode Ustawia właściwość bieżącego wystąpienia kontrolki i wszystkich kontrolek podrzędnych na Inherit.

(Odziedziczone po Control)
CopyBaseAttributes(WebControl)

Kopiuje właściwości, które nie są hermetyzowane przez Style obiekt z określonej kontrolki serwera sieci Web do kontrolki serwera sieci Web, z którego jest wywoływana ta metoda. Ta metoda jest używana głównie przez deweloperów sterujących.

(Odziedziczone po WebControl)
CreateChildControls()

Wywoływana przez platformę stron ASP.NET w celu powiadamiania kontrolek serwera, które używają implementacji opartej na kompozycji w celu utworzenia wszelkich kontrolek podrzędnych, które zawierają w ramach przygotowania do publikowania z powrotem lub renderowania.

(Odziedziczone po Control)
CreateControlCollection()

Tworzy nowy ControlCollection obiekt do przechowywania kontrolek podrzędnych (literału i serwera) kontrolki serwera.

(Odziedziczone po Control)
CreateControlStyle()

Tworzy obiekt stylu, który jest używany wewnętrznie przez kontrolkę Panel w celu zaimplementowania wszystkich właściwości pokrewnych stylu.

(Odziedziczone po Panel)
DataBind()

Wiąże źródło danych z wywołaną kontrolką serwera i wszystkimi kontrolkami podrzędnymi.

(Odziedziczone po Part)
DataBind(Boolean)

Wiąże źródło danych z wywołaną kontrolką serwera i wszystkie jego kontrolki podrzędne z opcją zgłaszania zdarzenia DataBinding .

(Odziedziczone po Control)
DataBindChildren()

Wiąże źródło danych z kontrolkami podrzędnymi kontrolki serwera.

(Odziedziczone po Control)
Dispose()

Umożliwia kontrolce serwera przeprowadzenie końcowego czyszczenia przed zwolnieniem z pamięci.

(Odziedziczone po Control)
EndRenderTracing(TextWriter, Object)

Kończy śledzenie czasu projektowania danych renderowania.

(Odziedziczone po Control)
EnsureChildControls()

Określa, czy kontrolka serwera zawiera kontrolki podrzędne. Jeśli tak nie jest, tworzy kontrolki podrzędne.

(Odziedziczone po Control)
EnsureID()

Tworzy identyfikator kontrolek, które nie mają przypisanego identyfikatora.

(Odziedziczone po Control)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindControl(String)

Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera przy użyciu określonego id parametru.

(Odziedziczone po Control)
FindControl(String, Int32)

Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera z określoną liczbą id całkowitą określoną w parametrze pathOffset , co ułatwia wyszukiwanie. Nie należy zastąpić tej wersji FindControl metody.

(Odziedziczone po Control)
Focus()

Ustawia fokus wejściowy na kontrolkę.

(Odziedziczone po Control)
GetAvailableWebPartDescriptions()

Zwraca kolekcję opisów dostępnych WebPart kontrolek w wykazie.

GetDesignModeState()

Pobiera bieżący stan strefy nadrzędnej CatalogPart kontrolki.

(Odziedziczone po CatalogPart)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetRouteUrl(Object)

Pobiera adres URL odpowiadający zestawowi parametrów trasy.

(Odziedziczone po Control)
GetRouteUrl(RouteValueDictionary)

Pobiera adres URL odpowiadający zestawowi parametrów trasy.

(Odziedziczone po Control)
GetRouteUrl(String, Object)

Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy.

(Odziedziczone po Control)
GetRouteUrl(String, RouteValueDictionary)

Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy.

(Odziedziczone po Control)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetUniqueIDRelativeTo(Control)

Zwraca prefiksowaną część UniqueID właściwości określonej kontrolki.

(Odziedziczone po Control)
GetWebPart(WebPartDescription)

Zwraca odwołanie do WebPart kontrolki na podstawie wartości opisu przekazanego do metody.

HasControls()

Określa, czy kontrolka serwera zawiera jakiekolwiek kontrolki podrzędne.

(Odziedziczone po Control)
HasEvents()

Zwraca wartość wskazującą, czy zdarzenia są rejestrowane dla kontrolki, czy jakiekolwiek kontrolki podrzędne.

(Odziedziczone po Control)
IsLiteralContent()

Określa, czy kontrolka serwera zawiera tylko zawartość literału.

(Odziedziczone po Control)
LoadControlState(Object)

Przywraca informacje o stanie kontroli z poprzedniego żądania strony, które zostało zapisane przez metodę SaveControlState() .

(Odziedziczone po Control)
LoadViewState(Object)

Przywraca informacje o stanie widoku z poprzedniego żądania, które zostało zapisane za pomocą SaveViewState() metody .

(Odziedziczone po WebControl)
MapPathSecure(String)

Pobiera ścieżkę fizyczną, z którą jest mapowa ścieżka wirtualna , bezwzględna lub względna.

(Odziedziczone po Control)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MergeStyle(Style)

Kopiuje wszystkie elementy inne niż elementy określonego stylu do kontrolki Sieci Web, ale nie zastąpi żadnych istniejących elementów stylu kontrolki. Ta metoda jest używana głównie przez deweloperów sterujących.

(Odziedziczone po WebControl)
OnBubbleEvent(Object, EventArgs)

Określa, czy zdarzenie kontroli serwera jest przekazywane w hierarchii kontroli serwera interfejsu użytkownika strony.

(Odziedziczone po Control)
OnDataBinding(EventArgs)

DataBinding Zgłasza zdarzenie.

(Odziedziczone po Control)
OnInit(EventArgs)

Init Zgłasza zdarzenie.

(Odziedziczone po Control)
OnLoad(EventArgs)

Load Zgłasza zdarzenie.

(Odziedziczone po Control)
OnPreRender(EventArgs)

PreRender Zgłasza zdarzenie.

(Odziedziczone po CatalogPart)
OnUnload(EventArgs)

Unload Zgłasza zdarzenie.

(Odziedziczone po Control)
OpenFile(String)

Stream Pobiera element używany do odczytywania pliku.

(Odziedziczone po Control)
RaiseBubbleEvent(Object, EventArgs)

Przypisuje wszystkie źródła zdarzenia i jego informacje do elementu nadrzędnego kontrolki.

(Odziedziczone po Control)
RemovedControl(Control)

Wywoływane po usunięciu kontrolki podrzędnej Controls z kolekcji Control obiektu.

(Odziedziczone po Control)
Render(HtmlTextWriter)

Renderuje kontrolkę do określonego składnika zapisywania HTML.

(Odziedziczone po WebControl)
RenderBeginTag(HtmlTextWriter)

Renderuje tag otwierający HTML kontrolki Panel do określonego składnika zapisywania.

(Odziedziczone po Panel)
RenderChildren(HtmlTextWriter)

Zwraca zawartość elementów podrzędnych kontrolki serwera do udostępnionego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie.

(Odziedziczone po Control)
RenderContents(HtmlTextWriter)

Renderuje zawartość kontrolki do określonego składnika zapisywania. Ta metoda jest używana głównie przez deweloperów sterujących.

(Odziedziczone po WebControl)
RenderControl(HtmlTextWriter)

Generuje zawartość serwera kontrolującą podaną HtmlTextWriter obiekt i przechowują informacje o śledzeniu dotyczące kontrolki, jeśli śledzenie jest włączone.

(Odziedziczone po Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Dane wyjściowe kontrolują zawartość serwera w podanym HtmlTextWriter obiekcie przy użyciu podanego ControlAdapter obiektu.

(Odziedziczone po Control)
RenderEndTag(HtmlTextWriter)

Renderuje tag zamykający HTML kontrolki Panel do określonego składnika zapisywania.

(Odziedziczone po Panel)
ResolveAdapter()

Pobiera kartę kontrolną odpowiedzialną za renderowanie określonej kontrolki.

(Odziedziczone po Control)
ResolveClientUrl(String)

Pobiera adres URL, który może być używany przez przeglądarkę.

(Odziedziczone po Control)
ResolveUrl(String)

Konwertuje adres URL na adres, który może być używany przez klienta żądającego.

(Odziedziczone po Control)
SaveControlState()

Zapisuje wszelkie zmiany stanu kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po Control)
SaveViewState()

Zapisuje dowolny stan, który został zmodyfikowany po TrackViewState() wywołaniu metody.

(Odziedziczone po WebControl)
SetDesignModeState(IDictionary)

Ustawia dane czasu projektowania dla kontrolki.

(Odziedziczone po CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Przypisuje delegata procedury obsługi zdarzeń, aby renderować kontrolkę serwera i jego zawartość do kontrolki nadrzędnej.

(Odziedziczone po Control)
SetTraceData(Object, Object)

Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania przy użyciu klucza danych śledzenia i wartości danych śledzenia.

(Odziedziczone po Control)
SetTraceData(Object, Object, Object)

Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania przy użyciu obiektu śledzonego, klucza danych śledzenia i wartości danych śledzenia.

(Odziedziczone po Control)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TrackViewState()

Powoduje, że kontrolka będzie śledzić zmiany stanu widoku, dzięki czemu mogą być przechowywane we właściwości obiektu ViewState .

(Odziedziczone po WebControl)

Zdarzenia

DataBinding

Występuje, gdy kontrolka serwera wiąże się ze źródłem danych.

(Odziedziczone po Control)
Disposed

Występuje, gdy kontrola serwera jest zwalniana z pamięci, co jest ostatnim etapem cyklu życia kontroli serwera, gdy jest żądana strona ASP.NET.

(Odziedziczone po Control)
Init

Występuje, gdy kontrolka serwera jest inicjowana, co jest pierwszym krokiem w jego cyklu życia.

(Odziedziczone po Control)
Load

Występuje, gdy kontrolka serwera jest ładowana do Page obiektu.

(Odziedziczone po Control)
PreRender

Występuje po załadowaniu Control obiektu, ale przed renderowaniem.

(Odziedziczone po Control)
Unload

Występuje, gdy kontrolka serwera jest zwalniana z pamięci.

(Odziedziczone po Control)

Jawne implementacje interfejsu

IAttributeAccessor.GetAttribute(String)

Pobiera atrybut kontrolki Sieci Web o określonej nazwie.

(Odziedziczone po WebControl)
IAttributeAccessor.SetAttribute(String, String)

Ustawia atrybut kontrolki Sieci Web na określoną nazwę i wartość.

(Odziedziczone po WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Umożliwia deweloperowi projektanta kontrolki części złożonej ponowne utworzenie kontrolek podrzędnych kontrolki kontrolki na powierzchni projektowej.

(Odziedziczone po Part)
IControlBuilderAccessor.ControlBuilder

Aby uzyskać opis tego elementu członkowskiego, zobacz ControlBuilder.

(Odziedziczone po Control)
IControlDesignerAccessor.GetDesignModeState()

Aby uzyskać opis tego elementu członkowskiego, zobacz GetDesignModeState().

(Odziedziczone po Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Aby uzyskać opis tego elementu członkowskiego, zobacz SetDesignModeState(IDictionary).

(Odziedziczone po Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Aby uzyskać opis tego elementu członkowskiego, zobacz SetOwnerControl(Control).

(Odziedziczone po Control)
IControlDesignerAccessor.UserData

Aby uzyskać opis tego elementu członkowskiego, zobacz UserData.

(Odziedziczone po Control)
IDataBindingsAccessor.DataBindings

Aby uzyskać opis tego elementu członkowskiego, zobacz DataBindings.

(Odziedziczone po Control)
IDataBindingsAccessor.HasDataBindings

Aby uzyskać opis tego elementu członkowskiego, zobacz HasDataBindings.

(Odziedziczone po Control)
IExpressionsAccessor.Expressions

Aby uzyskać opis tego elementu członkowskiego, zobacz Expressions.

(Odziedziczone po Control)
IExpressionsAccessor.HasExpressions

Aby uzyskać opis tego elementu członkowskiego, zobacz HasExpressions.

(Odziedziczone po Control)
IParserAccessor.AddParsedSubObject(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz AddParsedSubObject(Object).

(Odziedziczone po Control)

Metody rozszerzania

FindDataSourceControl(Control)

Zwraca źródło danych skojarzone z kontrolką danych dla określonej kontrolki.

FindFieldTemplate(Control, String)

Zwraca szablon pola dla określonej kolumny w kontenerze nazewnictwa określonej kontrolki.

FindMetaTable(Control)

Zwraca obiekt metatable dla kontrolki zawierającej dane.

GetDefaultValues(INamingContainer)

Pobiera kolekcję wartości domyślnych dla określonej kontrolki danych.

GetMetaTable(INamingContainer)

Pobiera metadane tabeli dla określonej kontrolki danych.

SetMetaTable(INamingContainer, MetaTable)

Ustawia metadane tabeli dla określonej kontrolki danych.

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

Ustawia metadane tabeli i domyślne mapowanie wartości dla określonej kontrolki danych.

SetMetaTable(INamingContainer, MetaTable, Object)

Ustawia metadane tabeli i domyślne mapowanie wartości dla określonej kontrolki danych.

TryGetMetaTable(INamingContainer, MetaTable)

Określa, czy metadane tabeli są dostępne.

EnableDynamicData(INamingContainer, Type)

Włącza zachowanie danych dynamicznych dla określonej kontrolki danych.

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

Włącza zachowanie danych dynamicznych dla określonej kontrolki danych.

EnableDynamicData(INamingContainer, Type, Object)

Włącza zachowanie danych dynamicznych dla określonej kontrolki danych.

Dotyczy

Zobacz też