Поделиться через


DeclarativeCatalogPart Класс

Определение

Позволяет разработчикам добавлять каталог WebPart или других серверные элементы управления на веб-страницу в декларативном формате с сохраняемостью страниц. Этот класс не наследуется.

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
Наследование
DeclarativeCatalogPart

Примеры

В следующем примере кода показано, как декларативно использовать DeclarativeCatalogPart элемент управления на веб-странице. Пример состоит из четырех частей:

  • Пользовательский элемент управления, позволяющий изменять режимы отображения на странице веб-частей.

  • Веб-страница, содержащая CatalogZone элемент управления и DeclarativeCatalogPart элемент управления .

  • Файл исходного кода, содержащий два пользовательских WebPart элемента управления.

  • Объяснение того, как работает пример при загрузке страницы в браузере.

Первая часть этого примера кода — это пользовательский элемент управления, позволяющий изменять режимы отображения на странице. Дополнительные сведения о режимах отображения и описание исходного кода в этом элементе управления см. в разделе Пошаговое руководство. Изменение режимов отображения на странице веб-частей.

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

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

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

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

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

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

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

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

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

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

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

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

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

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

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

  End Sub

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

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

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

  End Sub

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

Вторая часть примера кода — веб-страница. В верхней части страницы находятся две Register директивы: одна для пользовательского элемента управления, а другая для скомпилированного компонента, содержащего два пользовательских WebPart элемента управления. Обратите внимание, что страница имеет декларативную ссылку DeclarativeCatalogPart на элемент управления, вложенный в правильную иерархию декларативных элементов, как описано в разделе Примечания этого раздела. Элемент <asp:declarativecatalogpart> содержит <webpartstemplate> элемент , который, в свою очередь, содержит ссылки на стандартный элемент управления ASP.NET Calendar и два пользовательских WebPart элемента управления; это элементы управления, которые пользователи могут выбрать из каталога. Страница также содержит возможность редактирования с элементом управления, объявленным PropertyGridEditorPart на странице. Этот элемент управления позволяет пользователям изменять определенные свойства пользовательских WebPart элементов управления после их добавления на страницу и после того, как пользователь переключил страницу в режим редактирования.

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

Третья часть примера кода — это исходный код для двух WebPart элементов управления. Обратите внимание, что некоторые свойства этих элементов управления помечены атрибутом WebBrowsable . Это позволяет элементу PropertyGridEditorPart управления динамически создавать пользовательский интерфейс для изменения этих свойств, когда элементы управления находятся в режиме редактирования. Свойства также помечаются атрибутом WebDisplayName , чтобы указать текст метки, которая отображается рядом с каждым элементом управления в пользовательском интерфейсе редактирования.

Для выполнения примера кода необходимо скомпилировать этот исходный код. Ее можно скомпилировать явным образом и поместить полученную сборку в папку Bin веб-сайта или глобальный кэш сборок. Кроме того, исходный код можно поместить в папку App_Code сайта, где он будет динамически компилироваться во время выполнения. Пошаговое руководство, демонстрирующее оба метода компиляции, см. в разделе Пошаговое руководство. Разработка и использование пользовательского серверного веб-элемента управления.

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

При загрузке страницы в браузере выберите Режим каталога в раскрывающемся списке Режим отображения , чтобы переключиться в режим каталога. В режиме каталога можно просмотреть элементы управления, доступные для добавления на страницу. Добавьте все три элемента управления, а затем используйте раскрывающийся список Режим отображения , чтобы вернуть страницу в режим просмотра. На странице появятся три элемента управления. Если вы используете раскрывающийся список Режим отображения и переключите страницу в режим редактирования, можно щелкнуть меню глаголов (стрелка вниз) в заголовке окна элемента управления Веб-часть сведений о пользователе и нажать кнопку Изменить , чтобы изменить элемент управления. Когда отображается пользовательский интерфейс редактирования, вы увидите PropertyGridEditorPart элемент управления . Обратите внимание, что элемент управления отображается для каждого свойства класса, помеченного UserInfoWebPart атрибутом WebBrowsable . Если вы внесете некоторые изменения в пользовательский интерфейс редактирования и нажмите кнопку Применить , можно использовать раскрывающийся список Режим отображения , чтобы вернуть страницу в режим просмотра и увидеть полный эффект изменений.

Комментарии

Точно так же, как в наборе элементов управления веб-частей есть зоны, ориентированные на инструменты (дополнительные сведения см. ToolZone в обзоре класса), есть элементы управления, ориентированные на Part инструменты, и каждый из этих элементов управления должен находиться в определенном типе зоны инструментов. Элементы управления элементами, ориентированные на инструменты, в наборе элементов управления веб-частей имеют две отличительные характеристики:

  • Это вспомогательные элементы управления, позволяющие конечным пользователям персонализировать элементы управления на странице веб-частей.

  • Они видны только в определенных режимах отображения.

DeclarativeCatalogPart — элемент управления частью, который должен находиться в CatalogZoneBase зоне типа, например CatalogZone в зоне, предоставленной набором элементов управления веб-частей. Элемент DeclarativeCatalogPart управления становится видимым только в том случае, если веб-страница находится в режиме отображения каталога.

Элемент DeclarativeCatalogPart управления позволяет разработчикам декларативно добавлять набор серверных элементов управления в каталог на веб-странице. Каталог в наборе элементов управления веб-частей — это просто список WebPart или другие серверные элементы управления, которые отображаются, когда страница находится в режиме отображения каталога. Пользователь может выбрать элементы управления из списка и добавить их на веб-страницу, что позволяет пользователям изменять набор элементов управления и функциональные возможности на странице.

Примечание

Пользователи могут добавлять несколько экземпляров одного элемента управления в каталоге на веб-страницу.

Преимущество использования DeclarativeCatalogPart элемента управления для создания каталога серверных элементов управления заключается в том, что он не требует написания кода. Разработчики страниц могут работать с элементом управления полностью в декларативном (или сохраняемом на странице) формате, отсюда и имя элемента управления.

Элемент DeclarativeCatalogPart управления имеет полезное свойство, позволяющее разработчикам настроить каталог элементов управления, которые можно использовать на всем сайте. Вместо объявления отдельных серверных элементов управления в DeclarativeCatalogPart элементе управления разработчик может задать WebPartsListUserControlPath для свойства путь к пользовательскому элементу управления, который содержит список серверных элементов управления, которые должны находиться в каталоге. Во время выполнения серверные элементы управления, указанные в пользовательском элементе управления, загружаются в каталог. Таким образом, несколько страниц или сайтов могут ссылаться на один и тот же пользовательский элемент управления для создания каталога. При обновлении списка серверных элементов управления пользовательского элемента управления будут обновлены все каталоги на основе пользовательского элемента управления.

Класс DeclarativeCatalogPart имеет ряд открытых свойств, которые переопределяют унаследованные свойства. Большинство из этих свойств фактически не используются для отрисовки элемента управления; Они переопределяются только для того, чтобы можно было задать для них специальные атрибуты кода, чтобы скрыть их от средств разработки, таких как Microsoft Visual Studio 2005. Не следует использовать эти скрытые свойства, так как они не влияют на отрисовку. Тот факт, что они скрыты от IntelliSense и панели Свойств в Visual Studio, помогает разработчикам не использовать их по ошибке. Все эти скрытые свойства отмечены как таковые в соответствующих разделах справки.

Класс DeclarativeCatalogPart также имеет несколько методов. Метод GetAvailableWebPartDescriptions извлекает WebPartDescription объект для каждого WebPart элемента управления в каталоге, что позволяет элементу DeclarativeCatalogPart управления отображать сведения о каждом серверном элементе управления без необходимости создавать его экземпляр. Другим методом GetWebPart является метод . Этот метод получает экземпляр определенного WebPart элемента управления на основе описания, переданного методу.

Примечание

Для улучшения специальных возможностей DeclarativeCatalogPart элемент управления отображается в элементе <fieldset> . Элемент <fieldset> группирует связанный набор элементов управления, используемых для редактирования в DeclarativeCatalogPart элементе управления, и упрощает навигацию между этими элементами управления с помощью вкладок как для визуальных пользовательских агентов (например, обычных веб-браузеров), так и для речевых пользовательских агентов (например, программного обеспечения для чтения экрана).

Конструкторы

DeclarativeCatalogPart()

Инициализирует новый экземпляр класса.

Свойства

AccessKey

Это унаследованное свойство не используется набором элементов управления веб-частей при отрисовке элемента управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

Adapter

Возвращает конкретный адаптер браузера для элемента управления.

(Унаследовано от Control)
AppRelativeTemplateSourceDirectory

Возвращает или задает относительно приложения виртуальный каталог объекта Page или UserControl, который содержит этот элемент управления.

(Унаследовано от Control)
Attributes

Получает коллекцию произвольных атрибутов (только для отрисовки), которые не соответствуют свойствам элемента управления.

(Унаследовано от WebControl)
BackColor

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

BackImageUrl

Это унаследованное свойство не используется набором элементов управления веб-частей при отрисовке элемента управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

BindingContainer

Возвращает элемент управления, который содержит привязку данных элемента управления.

(Унаследовано от Control)
BorderColor

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

BorderStyle

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

BorderWidth

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

ChildControlsCreated

Возвращает значение, которое указывает, созданы ли дочерние элементы управления серверного элемента управления.

(Унаследовано от Control)
ChromeState

Получает или задает значение, указывающее, находится ли элемент управления веб-частей в свернутом или обычном состоянии.

(Унаследовано от Part)
ChromeType

Получает или задает тип границы, которая обрамляет элемент управления веб-частей.

(Унаследовано от Part)
ClientID

Получает идентификатор элемента управления для HTML-разметки, созданной ASP.NET.

(Унаследовано от Control)
ClientIDMode

Возвращает или задает алгоритм, используемый для создания значения свойства ClientID.

(Унаследовано от Control)
ClientIDSeparator

Возвращает значение символа разделителя, используемого в свойстве ClientID.

(Унаследовано от Control)
Context

Возвращает объект HttpContext, связанный с серверным элементом управления для текущего веб-запроса.

(Унаследовано от Control)
Controls

Получает объект ControlCollection, который содержит дочерние элементы управления для заданного серверного элемента управления в иерархии пользовательского интерфейса.

(Унаследовано от Part)
ControlStyle

Возвращает или задает стиль серверного веб-элемента управления. Это свойство используется преимущественно разработчиками элементов управления.

(Унаследовано от WebControl)
ControlStyleCreated

Возвращает значение, определяющее, был ли объект Style создан для свойства ControlStyle. Этот свойство в основном используется разработчиками элементов управления.

(Унаследовано от WebControl)
CssClass

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

DataItemContainer

Возвращает ссылку на контейнер именования, если контейнер именования реализует класс IDataItemContainer.

(Унаследовано от Control)
DataKeysContainer

Возвращает ссылку на контейнер именования, если контейнер именования реализует класс IDataKeysControl.

(Унаследовано от Control)
DefaultButton

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

Description

Получает или задает краткую фразу, в которой говорится, что делает этот элемент управления веб-частей. Эта фраза будет использоваться во всплывающих подсказках и каталогах элементов управления веб-частей.

(Унаследовано от Part)
DesignMode

Возвращает значение, указывающее, используется ли элемент управления на поверхности разработки.

(Унаследовано от Control)
Direction

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

DisplayTitle

Получает строку, которая содержит фактический заголовок, который имеет элемент управления CatalogPart в данный момент.

(Унаследовано от CatalogPart)
Enabled

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

EnableTheming

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

EnableViewState

Получает или задает значение, указывающее запрашивающему клиенту, сохраняет ли серверный элемент управления состояние представления и состояние представления своих дочерних элементов управления.

(Унаследовано от Control)
Events

Возвращает список делегатов обработчиков событий элемента управления. Это свойство доступно только для чтения.

(Унаследовано от Control)
Font

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

ForeColor

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

GroupingText

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

HasAttributes

Получает значение, определяющие наличие атрибутов у элемента управления.

(Унаследовано от WebControl)
HasChildViewState

Возвращает значение, которое указывает на наличие сохраненных параметров состояния представления у дочернего элемента серверного элемента управления.

(Унаследовано от Control)
Height

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвращения его появления в средствах конструктора Microsoft Visual Studio 2005.

HorizontalAlign

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

ID

Возвращает или задает программный идентификатор, назначенный серверному элементу управления.

(Унаследовано от Control)
IdSeparator

Возвращает символ, используемый для разделения идентификаторов элементов управления.

(Унаследовано от Control)
IsChildControlStateCleared

Возвращает значение, указывающее, имеют ли элементы управления в этом элементе управления состояние элемента управления.

(Унаследовано от Control)
IsEnabled

Возвращает значение, определяющее, включен ли элемент управления.

(Унаследовано от WebControl)
IsTrackingViewState

Возвращает значение, отражающее сохранение изменений в состояние представления серверного элемента управления.

(Унаследовано от Control)
IsViewStateEnabled

Возвращает значение, указывающее, используется ли состояние представления для этого элемента управления.

(Унаследовано от Control)
LoadViewStateByID

Возвращает значение, указывающее, участвует ли элемент управления в загрузке состояния представления ID вместо индекса.

(Унаследовано от Control)
NamingContainer

Возвращает ссылку на контейнер именования элемента управления, создающий уникальное пространство имен для различения серверных элементов управления с одинаковыми значениями свойства ID.

(Унаследовано от Control)
Page

Возвращает ссылку на экземпляр Page, содержащий серверный элемент управления.

(Унаследовано от Control)
Parent

Возвращает ссылку на родительский элемент управления серверного элемента управления в иерархии элементов управления страницы.

(Унаследовано от Control)
RenderingCompatibility

Возвращает значение, которое задает версию ASP.NET, с которой совместим созданный HTML.

(Унаследовано от Control)
ScrollBars

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

Site

Возвращает сведения о контейнере, который содержит текущий элемент управления при визуализации на поверхности конструктора.

(Унаследовано от Control)
SkinID

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

Style

Возвращает коллекцию атрибутов текста, которые будут отображены в виде атрибута стиля на внешнем теге серверного веб-элемента управления.

(Унаследовано от WebControl)
SupportsDisabledAttribute

Получает значение, указывающее, должен ли элемент управления устанавливать для атрибута disabled отрисовываемого элемента HTML значение disabled, если для свойства элемента управления IsEnabled задано значение false.

(Унаследовано от Panel)
TabIndex

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

TagKey

Возвращает значение HtmlTextWriterTag, которое соответствует этому элементу управления веб-сервера. Это свойство используется преимущественно разработчиками элементов управления.

(Унаследовано от WebControl)
TagName

Возвращает имя тега элемента управления. Это свойство используется преимущественно разработчиками элементов управления.

(Унаследовано от WebControl)
TemplateControl

Возвращает или задает ссылку на шаблон, содержащий этот элемент управления.

(Унаследовано от Control)
TemplateSourceDirectory

Возвращает виртуальный каталог Page или UserControl, содержащий текущий серверный элемент управления.

(Унаследовано от Control)
Title

Получает или задает текст, отображающийся в заголовке элемента управления.

ToolTip

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

UniqueID

Возвращает уникальный идентификатор серверного элемента управления в иерархии.

(Унаследовано от Control)
ValidateRequestMode

Возвращает или задает значение, указывающее, проверяет ли элемент управления полученный из браузера клиентский ввод на предмет потенциально опасных значений.

(Унаследовано от Control)
ViewState

Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления серверного элемента управления при нескольких запросах одной и той же страницы.

(Унаследовано от Control)
ViewStateIgnoresCase

Возвращает значение, указывающее, является ли объект StateBag нечувствительным к регистру.

(Унаследовано от Control)
ViewStateMode

Возвращает или задает режим состояния представления данного элемента управления.

(Унаследовано от Control)
Visible

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

WebPartManager

Получает ссылку на текущий экземпляр класса WebPartManager.

(Унаследовано от CatalogPart)
WebPartsListUserControlPath

Получает или задает путь к пользовательскому элементу управления, который содержит список элементов WebPart и других серверных элементов управления для каталога.

WebPartsTemplate

Получает или задает ссылку на шаблон, содержащий элементы управления WebPart, объявленные в каталоге.

Width

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

Wrap

Это унаследованное свойство не используется элементом управления DeclarativeCatalogPart. Свойство переопределяется только с целью предотвратить его появление в средствах конструктора Microsoft Visual Studio 2005.

Zone

Получает ссылку на зону CatalogZoneBase, которая содержит элемент управления CatalogPart.

(Унаследовано от CatalogPart)

Методы

AddAttributesToRender(HtmlTextWriter)

Добавляет сведения о фоновом изображении, выравнивании, переносе по словам и направление в список обрабатываемых атрибутов.

(Унаследовано от Panel)
AddedControl(Control, Int32)

Вызывается после добавления дочернего элемента управления в коллекцию Controls объекта Control.

(Унаследовано от Control)
AddParsedSubObject(Object)

Уведомляет серверный элемент управления, что элемент XML или HTML был проанализирован, и добавляет элемент в серверный элемент управления объекта ControlCollection.

(Унаследовано от Control)
ApplyStyle(Style)

Копирует любой непустой элемент указанного стиля в элемент управления Веба, перезаписывая уже существующие элементы стиля. Этот метод, в основном, используется разработчиками элементов управления.

(Унаследовано от WebControl)
ApplyStyleSheetSkin(Page)

Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления.

(Унаследовано от Control)
BeginRenderTracing(TextWriter, Object)

Запускает трассировку во время разработки данных отрисовки.

(Унаследовано от Control)
BuildProfileTree(String, Boolean)

Собирает сведения о серверном элементе управления и доставляет их свойству Trace, которое отображается при включенной на странице трассировке.

(Унаследовано от Control)
ClearCachedClientID()

Задает для кэшированного свойства ClientID значение null.

(Унаследовано от Control)
ClearChildControlState()

Удаляет сведения о состоянии элемента управления для дочерних элементов управления серверного элемента управления.

(Унаследовано от Control)
ClearChildState()

Удаляет сведения о состоянии элемента управления и состоянии представления для всех дочерних элементов серверного элемента управления.

(Унаследовано от Control)
ClearChildViewState()

Удаляет сведения о состоянии представления для всех дочерних элементов серверного элемента управления.

(Унаследовано от Control)
ClearEffectiveClientIDMode()

Задает для свойства ClientIDMode текущего экземпляра элемента управления и любых его дочерних элементов управления значение Inherit.

(Унаследовано от Control)
CopyBaseAttributes(WebControl)

Копирует не инкапсулированные объектом Style свойства из указанного серверного веб-элемента управления веб-сервера в элемент управления веб-сервера, откуда вызывается этот метод. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
CreateChildControls()

Вызывается платформой страницы ASP.NET для уведомления серверных элементов управления, использующих составную реализацию, о необходимости создания дочерних элементов управления, содержащихся в них для обратной передачи или отрисовки.

(Унаследовано от Control)
CreateControlCollection()

Создает новый объект ControlCollection для хранения дочерних элементов управления (литеральных и серверных) серверного элемента управления.

(Унаследовано от Control)
CreateControlStyle()

Создает объект стиля, который внутренне используется элементом управления Panel для реализации всех относящихся к стилю свойств.

(Унаследовано от Panel)
DataBind()

Привязывает источник данных к вызываемому серверному элементу управления и всем его дочерним элементам управления.

(Унаследовано от Part)
DataBind(Boolean)

Привязывает источник данных к вызванному серверному элементу управления и всем его дочерними элементами управления с возможностью вызова события DataBinding.

(Унаследовано от Control)
DataBindChildren()

Привязывает источник данных к дочерним элементам управления серверного элемента управления.

(Унаследовано от Control)
Dispose()

Включает серверный элемент управления для выполнения окончательной чистки до освобождения памяти.

(Унаследовано от Control)
EndRenderTracing(TextWriter, Object)

Завершает трассировку во время разработки данных отрисовки.

(Унаследовано от Control)
EnsureChildControls()

Определяет наличие у серверного элемента управления дочерних элементов управления. Если дочерних элементов управления нет, они будут созданы.

(Унаследовано от Control)
EnsureID()

Создает идентификатор для элементов управления, которые не имеют назначенного идентификатора.

(Унаследовано от Control)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindControl(String)

Выполняет поиск серверного элемента управления с заданным параметром id в текущем контейнере именования.

(Унаследовано от Control)
FindControl(String, Int32)

Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным id и целым числом, указанным в параметре pathOffset, который содействует поиску. Эту версию метода FindControl не следует переопределять.

(Унаследовано от Control)
Focus()

Задает фокус ввода на элемент управления.

(Унаследовано от Control)
GetAvailableWebPartDescriptions()

Возвращает коллекцию описаний доступных элементов управления WebPart в каталоге.

GetDesignModeState()

Возвращает текущее состояние родительской зоны элемента управления CatalogPart.

(Унаследовано от CatalogPart)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetRouteUrl(Object)

Возвращает URL-адрес, соответствующий набору параметров маршрута.

(Унаследовано от Control)
GetRouteUrl(RouteValueDictionary)

Возвращает URL-адрес, соответствующий набору параметров маршрута.

(Унаследовано от Control)
GetRouteUrl(String, Object)

Возвращает URL-адрес, соответствующий набору параметров маршрута и имени маршрута.

(Унаследовано от Control)
GetRouteUrl(String, RouteValueDictionary)

Возвращает URL-адрес, соответствующий набору параметров маршрута и имени маршрута.

(Унаследовано от Control)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetUniqueIDRelativeTo(Control)

Возвращает часть с префиксом свойства UniqueID указанного элемента управления.

(Унаследовано от Control)
GetWebPart(WebPartDescription)

Возвращает ссылку на элемент управления WebPart по описанию, которое передается методу.

HasControls()

Определяет наличие у серверного элемента управления дочерних элементов управления.

(Унаследовано от Control)
HasEvents()

Возвращает значение, указывающее, регистрируются ли события для элемента управления или каких-либо дочерних элементов управления.

(Унаследовано от Control)
IsLiteralContent()

Определяет наличие у серверного элемента управления только текстового содержимого.

(Унаследовано от Control)
LoadControlState(Object)

Восстанавливает сведения о состоянии элемента управления предыдущего запроса страницы, сохраненные методом SaveControlState().

(Унаследовано от Control)
LoadViewState(Object)

Восстанавливает сведения о состоянии просмотра из предыдущего запроса, сохраненного с помощью метода SaveViewState().

(Унаследовано от WebControl)
MapPathSecure(String)

Извлекает физический путь, к которому ведет виртуальный путь (абсолютный или относительный).

(Унаследовано от Control)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MergeStyle(Style)

Копирует любой непустой элемент указанного стиля в элемент управления Веба, но не перезаписывает уже существующие элементы стиля. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
OnBubbleEvent(Object, EventArgs)

Определяет, передается ли событие серверного элемента управления вверх по иерархии серверных элементов управления пользовательского интерфейса страницы.

(Унаследовано от Control)
OnDataBinding(EventArgs)

Вызывает событие DataBinding.

(Унаследовано от Control)
OnInit(EventArgs)

Вызывает событие Init.

(Унаследовано от Control)
OnLoad(EventArgs)

Вызывает событие Load.

(Унаследовано от Control)
OnPreRender(EventArgs)

Вызывает событие PreRender.

(Унаследовано от CatalogPart)
OnUnload(EventArgs)

Вызывает событие Unload.

(Унаследовано от Control)
OpenFile(String)

Возвращает Stream, используемое для чтения файла.

(Унаследовано от Control)
RaiseBubbleEvent(Object, EventArgs)

Присваивает родительскому элементу управления все источники события и сведения о них.

(Унаследовано от Control)
RemovedControl(Control)

Вызывается после удаления дочернего элемента управления из коллекции Controls объекта Control.

(Унаследовано от Control)
Render(HtmlTextWriter)

Выполняет визуализацию элемента управления в указанный модуль записи HTML.

(Унаследовано от WebControl)
RenderBeginTag(HtmlTextWriter)

Выполняет рендеринг открывающего HTML-тега элемента управления Panel для указанного объекта.

(Унаследовано от Panel)
RenderChildren(HtmlTextWriter)

Выводит содержимое дочерних элементов серверного элемента управления в предоставленный объект HtmlTextWriter, который записывает это содержимое для подготовки к просмотру на клиенте.

(Унаследовано от Control)
RenderContents(HtmlTextWriter)

Выводит содержимое элемента управления в заданный модуль записи. Этот метод используется в основном разработчиками элементов управления.

(Унаследовано от WebControl)
RenderControl(HtmlTextWriter)

Выводит содержимое серверного элемента управления в указанный объект HtmlTextWriter и сохраняет сведения о трассировке элемента управления, если трассировка включена.

(Унаследовано от Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Выводит серверный элемент управления в указанный объект HtmlTextWriter, используя указанный объект ControlAdapter.

(Унаследовано от Control)
RenderEndTag(HtmlTextWriter)

Отображает закрывающий HTML-тег элемента управления Panel в указанное средство записи.

(Унаследовано от Panel)
ResolveAdapter()

Возвращает адаптер элемента управления, отвечающий за отрисовку определенного элемента управления.

(Унаследовано от Control)
ResolveClientUrl(String)

Возвращает URL-адрес, который может использоваться браузером.

(Унаследовано от Control)
ResolveUrl(String)

Преобразует URL-адрес в адрес, доступный для клиента.

(Унаследовано от Control)
SaveControlState()

Сохраняет любые изменения состояния серверного элемента управления, произошедшие после отправки страницы обратно на сервер.

(Унаследовано от Control)
SaveViewState()

Сохраняет любое состояние, которое было изменено после вызова метода TrackViewState().

(Унаследовано от WebControl)
SetDesignModeState(IDictionary)

Задает данные времени разработки для элемента управления.

(Унаследовано от CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Назначает делегата обработчика событий для преобразования серверного элемента управления и его содержимого для просмотра в родительский элемент управления.

(Унаследовано от Control)
SetTraceData(Object, Object)

Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки.

(Унаследовано от Control)
SetTraceData(Object, Object, Object)

Задает данные трассировки для трассировки данных отрисовки во время разработки, используя трассируемый объект, ключ данных трассировки и значение данных трассировки.

(Унаследовано от Control)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TrackViewState()

Заставляет элемент управления отслеживать изменения в состоянии его представления, чтобы их можно было сохранить в свойстве ViewState объекта.

(Унаследовано от WebControl)

События

DataBinding

Происходит при привязке серверного элемента управления к источнику данных.

(Унаследовано от Control)
Disposed

Происходит при освобождении памяти, занятой серверным элементом управления, т.е. на последнем этапе жизненного цикла серверного элемента управления при запросе страницы ASP.NET.

(Унаследовано от Control)
Init

Происходит при инициализации серверного элемента управления, который находится на первом этапе его жизненного цикла.

(Унаследовано от Control)
Load

Происходит при загрузке серверного элемента управления в объект Page.

(Унаследовано от Control)
PreRender

Происходит после загрузки объекта Control, но перед отрисовкой.

(Унаследовано от Control)
Unload

Происходит при выгрузке серверного элемента управления из памяти.

(Унаследовано от Control)

Явные реализации интерфейса

IAttributeAccessor.GetAttribute(String)

Возвращает атрибуту веб-элемента управления указанное имя.

(Унаследовано от WebControl)
IAttributeAccessor.SetAttribute(String, String)

Задает атрибуту веб-элемента управления указанное имя и значение.

(Унаследовано от WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Позволяет разработчику конструктора для составного элемента управления "Веб-часть" воспроизвести дочерние элементы управления элемента управления в рабочей области конструирования.

(Унаследовано от Part)
IControlBuilderAccessor.ControlBuilder

Описание этого члена см. в разделе ControlBuilder.

(Унаследовано от Control)
IControlDesignerAccessor.GetDesignModeState()

Описание этого члена см. в разделе GetDesignModeState().

(Унаследовано от Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Описание этого члена см. в разделе SetDesignModeState(IDictionary).

(Унаследовано от Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Описание этого члена см. в разделе SetOwnerControl(Control).

(Унаследовано от Control)
IControlDesignerAccessor.UserData

Описание этого члена см. в разделе UserData.

(Унаследовано от Control)
IDataBindingsAccessor.DataBindings

Описание этого члена см. в разделе DataBindings.

(Унаследовано от Control)
IDataBindingsAccessor.HasDataBindings

Описание этого члена см. в разделе HasDataBindings.

(Унаследовано от Control)
IExpressionsAccessor.Expressions

Описание этого члена см. в разделе Expressions.

(Унаследовано от Control)
IExpressionsAccessor.HasExpressions

Описание этого члена см. в разделе HasExpressions.

(Унаследовано от Control)
IParserAccessor.AddParsedSubObject(Object)

Описание этого члена см. в разделе AddParsedSubObject(Object).

(Унаследовано от Control)

Методы расширения

FindDataSourceControl(Control)

Возвращает источник данных, связанный с элементом управления данными, для заданного элемента управления.

FindFieldTemplate(Control, String)

Возвращает шаблон поля для заданного столбца в контейнере именования заданного элемента управления.

FindMetaTable(Control)

Возвращает объект метатаблицы для контейнерного элемента управления данными.

GetDefaultValues(INamingContainer)

Получает коллекцию значений по умолчанию для заданного элемента управления данными.

GetMetaTable(INamingContainer)

Получает метаданные таблицы для заданного элемента управления данными.

SetMetaTable(INamingContainer, MetaTable)

Задает метаданные таблицы для заданного элемента управления данными.

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

Задает метаданные таблицы и преобразование значений по умолчанию для заданного элемента управления данными.

SetMetaTable(INamingContainer, MetaTable, Object)

Задает метаданные таблицы и преобразование значений по умолчанию для заданного элемента управления данными.

TryGetMetaTable(INamingContainer, MetaTable)

Определяет, доступны ли метаданные таблицы.

EnableDynamicData(INamingContainer, Type)

Включает поведение платформы динамических данных для указанного элемента управления данными.

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

Включает поведение платформы динамических данных для указанного элемента управления данными.

EnableDynamicData(INamingContainer, Type, Object)

Включает поведение платформы динамических данных для указанного элемента управления данными.

Применяется к

См. также раздел