Bagikan melalui


DeclarativeCatalogPart Kelas

Definisi

Memungkinkan pengembang menambahkan katalog WebPart atau kontrol server lainnya ke halaman Web dalam format persistensi halaman deklaratif. Kelas ini tidak dapat diwariskan.

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

Contoh

Contoh kode berikut menunjukkan cara menggunakan DeclarativeCatalogPart kontrol secara deklaratif di halaman Web. Contohnya memiliki empat bagian:

  • Kontrol pengguna yang memungkinkan Anda mengubah mode tampilan pada halaman Bagian Web.

  • Halaman Web yang berisi CatalogZone kontrol dan DeclarativeCatalogPart kontrol.

  • File kode sumber yang berisi dua kontrol kustom WebPart .

  • Penjelasan tentang cara kerja contoh saat Anda memuat halaman di browser.

Bagian pertama dari contoh kode ini adalah kontrol pengguna yang memungkinkan Anda mengubah mode tampilan di halaman. Untuk detail tentang mode tampilan dan deskripsi kode sumber dalam kontrol ini, lihat Panduan: Mengubah Mode Tampilan pada Halaman Bagian Web.

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

Bagian kedua dari contoh kode adalah halaman Web. Di bagian atas halaman ada dua Register arahan, satu untuk kontrol pengguna dan satu untuk komponen yang dikompilasi yang berisi dua kontrol kustom WebPart . Perhatikan bahwa halaman memiliki referensi deklaratif ke DeclarativeCatalogPart kontrol, yang ditumpuk dalam hierarki elemen deklaratif yang tepat seperti yang dijelaskan di bagian Keterangan dari topik ini. Elemen <asp:declarativecatalogpart> berisi <webpartstemplate> elemen , yang pada gilirannya berisi referensi untuk kontrol ASP.NET Calendar standar dan dua kontrol kustom WebPart ; ini adalah kontrol yang dapat dipilih pengguna dari katalog. Halaman ini juga berisi kemampuan pengeditan, dengan kontrol yang PropertyGridEditorPart dideklarasikan pada halaman. Kontrol ini memungkinkan pengguna untuk mengedit properti tertentu pada kontrol kustom WebPart setelah ditambahkan ke halaman, dan setelah pengguna mengalihkan halaman ke mode edit.

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

Bagian ketiga dari contoh kode adalah kode sumber untuk dua WebPart kontrol. Perhatikan bahwa beberapa properti pada kontrol ini ditandai dengan WebBrowsable atribut . Ini memungkinkan PropertyGridEditorPart kontrol untuk secara dinamis menghasilkan antarmuka pengguna (UI) bagi pengguna untuk mengedit properti tersebut saat kontrol berada dalam mode edit. Properti juga ditandai dengan WebDisplayName atribut , untuk menentukan teks label yang muncul di samping setiap kontrol di antarmuka pengguna pengeditan.

Agar contoh kode berjalan, Anda harus mengkompilasi kode sumber ini. Anda dapat mengkompilasinya secara eksplisit dan meletakkan rakitan yang dihasilkan di folder Bin situs Web Anda atau cache perakitan global. Atau, Anda dapat meletakkan kode sumber di folder App_Code situs Anda, di mana kode tersebut akan dikompilasi secara dinamis pada durasi. Untuk panduan yang menunjukkan kedua metode kompilasi, lihat Panduan: Mengembangkan dan Menggunakan Kontrol Server Web Kustom.

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

Saat Anda memuat halaman di browser, pilih Mode Katalog di kontrol daftar drop-down Mode Tampilan untuk beralih ke mode katalog. Dalam mode katalog, Anda dapat melihat kontrol yang tersedia untuk ditambahkan ke halaman. Tambahkan ketiga kontrol, lalu gunakan daftar drop-down Mode Tampilan untuk mengembalikan halaman ke mode telusuri. Tiga kontrol muncul di halaman. Jika Anda menggunakan daftar drop-down Mode Tampilan dan mengalihkan halaman ke mode edit, Anda bisa mengklik menu kata kerja (panah ke bawah) di bilah judul kontrol WebPart Informasi Pengguna , dan klik Edit untuk mengedit kontrol. Saat antarmuka pengguna pengeditan terlihat, Anda dapat melihat PropertyGridEditorPart kontrol. Perhatikan bahwa kontrol dirender untuk setiap properti UserInfoWebPart kelas yang ditandai dengan WebBrowsable atribut . Jika Anda membuat beberapa perubahan di antarmuka pengguna pengeditan dan mengklik tombol Terapkan , Anda dapat menggunakan daftar drop-down Mode Tampilan untuk mengembalikan halaman untuk menelusuri mode dan melihat efek penuh perubahan pengeditan.

Keterangan

Sama seperti ada zona berorientasi alat di kumpulan kontrol Bagian Web (untuk detailnya, lihat ToolZone gambaran umum kelas), ada kontrol berorientasi Part alat, dan masing-masing kontrol ini harus berada di jenis zona alat tertentu. Kontrol bagian berorientasi alat dalam kumpulan kontrol Bagian Web memiliki dua karakteristik pembeda:

  • Mereka adalah kontrol pembantu yang memungkinkan pengguna akhir untuk mempersonalisasi kontrol pada halaman Bagian Web.

  • Mereka hanya terlihat dalam mode tampilan tertentu.

DeclarativeCatalogPart adalah kontrol bagian yang harus berada di CatalogZoneBase tipe zona, seperti CatalogZone zona yang disediakan dengan set kontrol Bagian Web. DeclarativeCatalogPart Kontrol menjadi terlihat hanya ketika halaman Web berada dalam mode tampilan katalog.

Kontrol DeclarativeCatalogPart ini menyediakan cara bagi pengembang untuk menambahkan sekumpulan kontrol server secara deklaratif ke katalog di halaman Web. Katalog, dalam kumpulan kontrol Bagian Web, hanyalah daftar WebPart atau kontrol server lain yang terlihat ketika halaman berada dalam mode tampilan katalog. Pengguna dapat memilih kontrol dari daftar dan menambahkannya ke halaman Web, yang secara efektif memberi pengguna kemampuan untuk mengubah kumpulan kontrol dan fungsionalitas di halaman.

Catatan

Pengguna dapat menambahkan beberapa instans kontrol yang sama dalam katalog ke halaman Web.

Keuntungan menggunakan DeclarativeCatalogPart kontrol untuk membuat katalog kontrol server adalah bahwa ia tidak memerlukan pengkodian apa pun. Pengembang halaman dapat bekerja dengan kontrol sepenuhnya dalam format deklaratif (atau persistensi halaman), karenanya nama kontrol.

Kontrol DeclarativeCatalogPart ini memiliki properti berguna yang memungkinkan pengembang untuk menyiapkan katalog kontrol yang dapat digunakan di seluruh situs. Daripada mendeklarasikan kontrol server individual dalam DeclarativeCatalogPart kontrol, pengembang dapat mengatur WebPartsListUserControlPath nilai properti ke jalur kontrol pengguna yang berisi daftar kontrol server yang seharusnya ada di katalog. Pada durasi, kontrol server yang direferensikan dalam kontrol pengguna dimuat dalam katalog. Dengan cara ini, beberapa halaman atau situs dapat mereferensikan kontrol pengguna yang sama untuk membuat katalog. Ketika daftar kontrol server kontrol pengguna diperbarui, itu akan memperbarui semua katalog berdasarkan kontrol pengguna.

Kelas DeclarativeCatalogPart ini memiliki sejumlah properti publik yang mengambil alih properti yang diwariskan. Sebagian besar properti ini sebenarnya tidak digunakan untuk merender kontrol; mereka hanya ditimpa sehingga atribut kode khusus dapat diatur untuk menyembunyikannya dari alat desain seperti Microsoft Visual Studio 2005. Anda tidak boleh menggunakan properti tersembunyi ini, karena tidak berpengaruh pada penyajian. Fakta bahwa mereka disembunyikan dari IntelliSense dan panel Properti di Visual Studio membantu pengembang menghindari penggunaannya secara tidak sengaja. Semua properti tersembunyi ini dicatat seperti dalam topik Bantuan masing-masing.

Kelas ini DeclarativeCatalogPart juga memiliki beberapa metode. Metode ini GetAvailableWebPartDescriptions mengambil WebPartDescription objek untuk setiap WebPart kontrol dalam katalog, yang memungkinkan DeclarativeCatalogPart kontrol untuk menampilkan informasi tentang setiap kontrol server tanpa harus membuat instansnya. Metode lain adalah GetWebPart metode . Metode ini mendapatkan instans kontrol tertentu WebPart , berdasarkan deskripsi yang diteruskan ke metode .

Catatan

Untuk meningkatkan aksesibilitas, DeclarativeCatalogPart kontrol dirender dalam <fieldset> elemen . Elemen mengelompokkan <fieldset> kumpulan kontrol terkait yang digunakan untuk mengedit dalam DeclarativeCatalogPart kontrol, dan memfasilitasi navigasi bertab di antara kontrol tersebut untuk agen pengguna visual (seperti browser Web biasa) dan agen pengguna berorientasi ucapan (seperti perangkat lunak pembacaan layar).

Konstruktor

DeclarativeCatalogPart()

Menginisialisasi instans baru kelas.

Properti

AccessKey

Properti yang diwariskan ini tidak digunakan oleh kontrol Bagian Web yang diatur ketika merender DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

Adapter

Mendapatkan adaptor khusus browser untuk kontrol.

(Diperoleh dari Control)
AppRelativeTemplateSourceDirectory

Mendapatkan atau mengatur direktori virtual relatif aplikasi dari Page objek atau UserControl yang berisi kontrol ini.

(Diperoleh dari Control)
Attributes

Mendapatkan kumpulan atribut arbitrer (hanya untuk penyajian) yang tidak sesuai dengan properti pada kontrol.

(Diperoleh dari WebControl)
BackColor

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

BackImageUrl

Properti yang diwariskan ini tidak digunakan oleh kontrol Bagian Web yang diatur ketika merender DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

BindingContainer

Mendapatkan kontrol yang berisi pengikatan data kontrol ini.

(Diperoleh dari Control)
BorderColor

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

BorderStyle

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

BorderWidth

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

ChildControlsCreated

Mendapatkan nilai yang menunjukkan apakah kontrol anak kontrol server telah dibuat.

(Diperoleh dari Control)
ChromeState

Mendapatkan atau mengatur apakah kontrol bagian dalam keadaan diminimalkan atau normal.

(Diperoleh dari Part)
ChromeType

Mendapatkan atau mengatur tipe batas yang membingkai kontrol Bagian Web.

(Diperoleh dari Part)
ClientID

Mendapatkan ID kontrol untuk markup HTML yang dihasilkan oleh ASP.NET.

(Diperoleh dari Control)
ClientIDMode

Mendapatkan atau mengatur algoritma yang digunakan untuk menghasilkan nilai ClientID properti.

(Diperoleh dari Control)
ClientIDSeparator

Mendapatkan nilai karakter yang mewakili karakter pemisah yang digunakan dalam ClientID properti .

(Diperoleh dari Control)
Context

Mendapatkan objek yang HttpContext terkait dengan kontrol server untuk permintaan Web saat ini.

(Diperoleh dari Control)
Controls

ControlCollection Mendapatkan objek yang berisi kontrol anak untuk kontrol server tertentu dalam hierarki antarmuka pengguna.

(Diperoleh dari Part)
ControlStyle

Mendapatkan gaya kontrol server Web. Properti ini digunakan terutama oleh pengembang kontrol.

(Diperoleh dari WebControl)
ControlStyleCreated

Mendapatkan nilai yang menunjukkan apakah Style objek telah dibuat untuk ControlStyle properti . Properti ini terutama digunakan oleh pengembang kontrol.

(Diperoleh dari WebControl)
CssClass

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

DataItemContainer

Mendapatkan referensi ke kontainer penamaan jika kontainer penamaan mengimplementasikan IDataItemContainer.

(Diperoleh dari Control)
DataKeysContainer

Mendapatkan referensi ke kontainer penamaan jika kontainer penamaan mengimplementasikan IDataKeysControl.

(Diperoleh dari Control)
DefaultButton

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

Description

Mendapatkan atau mengatur frasa singkat yang meringkas apa yang dilakukan kontrol bagian, untuk digunakan dalam TipsAlat dan katalog kontrol bagian.

(Diperoleh dari Part)
DesignMode

Mendapatkan nilai yang menunjukkan apakah kontrol sedang digunakan pada permukaan desain.

(Diperoleh dari Control)
Direction

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

DisplayTitle

Mendapatkan string yang berisi judul kontrol aktual CatalogPart saat ini.

(Diperoleh dari CatalogPart)
Enabled

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

EnableTheming

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

EnableViewState

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol server mempertahankan status tampilannya, dan status tampilan setiap kontrol anak yang dikandungnya, ke klien yang meminta.

(Diperoleh dari Control)
Events

Mendapatkan daftar delegasi penanganan aktivitas untuk kontrol. Properti ini bersifat hanya baca.

(Diperoleh dari Control)
Font

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

ForeColor

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

GroupingText

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

HasAttributes

Mendapatkan nilai yang menunjukkan apakah kontrol memiliki atribut yang ditetapkan.

(Diperoleh dari WebControl)
HasChildViewState

Mendapatkan nilai yang menunjukkan apakah kontrol anak kontrol server saat ini memiliki pengaturan status tampilan yang disimpan.

(Diperoleh dari Control)
Height

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

HorizontalAlign

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

ID

Mendapatkan atau mengatur pengidentifikasi terprogram yang ditetapkan ke kontrol server.

(Diperoleh dari Control)
IdSeparator

Mendapatkan karakter yang digunakan untuk memisahkan pengidentifikasi kontrol.

(Diperoleh dari Control)
IsChildControlStateCleared

Mendapatkan nilai yang menunjukkan apakah kontrol yang terkandung dalam kontrol ini memiliki status kontrol.

(Diperoleh dari Control)
IsEnabled

Mendapatkan nilai yang menunjukkan apakah kontrol diaktifkan.

(Diperoleh dari WebControl)
IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah kontrol server menyimpan perubahan pada status tampilannya.

(Diperoleh dari Control)
IsViewStateEnabled

Mendapatkan nilai yang menunjukkan apakah status tampilan diaktifkan untuk kontrol ini.

(Diperoleh dari Control)
LoadViewStateByID

Mendapatkan nilai yang menunjukkan apakah kontrol berpartisipasi dalam memuat status tampilannya dengan ID bukan indeks.

(Diperoleh dari Control)
NamingContainer

Mendapatkan referensi ke kontainer penamaan kontrol server, yang membuat namespace unik untuk membedakan antara kontrol server dengan nilai properti yang sama ID .

(Diperoleh dari Control)
Page

Mendapatkan referensi ke Page instans yang berisi kontrol server.

(Diperoleh dari Control)
Parent

Mendapatkan referensi ke kontrol induk kontrol server dalam hierarki kontrol halaman.

(Diperoleh dari Control)
RenderingCompatibility

Mendapatkan nilai yang menentukan versi ASP.NET yang akan kompatibel dengan HTML yang dirender.

(Diperoleh dari Control)
ScrollBars

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

Site

Mendapatkan informasi tentang kontainer yang menghosting kontrol saat ini saat dirender pada permukaan desain.

(Diperoleh dari Control)
SkinID

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

Style

Mendapatkan kumpulan atribut teks yang akan dirender sebagai atribut gaya pada tag luar kontrol server Web.

(Diperoleh dari WebControl)
SupportsDisabledAttribute

Mendapatkan nilai yang menunjukkan apakah kontrol harus mengatur disabled atribut elemen HTML yang dirender ke "dinonaktifkan" ketika properti kontrol IsEnabled adalah false.

(Diperoleh dari Panel)
TabIndex

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

TagKey

HtmlTextWriterTag Mendapatkan nilai yang sesuai dengan kontrol server Web ini. Properti ini digunakan terutama oleh pengembang kontrol.

(Diperoleh dari WebControl)
TagName

Mendapatkan nama tag kontrol. Properti ini digunakan terutama oleh pengembang kontrol.

(Diperoleh dari WebControl)
TemplateControl

Mendapatkan atau mengatur referensi ke templat yang berisi kontrol ini.

(Diperoleh dari Control)
TemplateSourceDirectory

Mendapatkan direktori Page virtual atau UserControl yang berisi kontrol server saat ini.

(Diperoleh dari Control)
Title

Mendapatkan atau mengatur judul yang muncul di bilah judul kontrol.

ToolTip

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

UniqueID

Mendapatkan pengidentifikasi unik yang memenuhi syarat secara hierarkis untuk kontrol server.

(Diperoleh dari Control)
ValidateRequestMode

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol memeriksa input klien dari browser untuk nilai yang berpotensi berbahaya.

(Diperoleh dari Control)
ViewState

Mendapatkan kamus informasi status yang memungkinkan Anda menyimpan dan memulihkan status tampilan kontrol server di beberapa permintaan untuk halaman yang sama.

(Diperoleh dari Control)
ViewStateIgnoresCase

Mendapatkan nilai yang menunjukkan apakah StateBag objek tidak peka huruf besar/kecil.

(Diperoleh dari Control)
ViewStateMode

Mendapatkan atau mengatur mode view-state kontrol ini.

(Diperoleh dari Control)
Visible

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

WebPartManager

Mendapatkan referensi ke instans WebPartManager kelas saat ini.

(Diperoleh dari CatalogPart)
WebPartsListUserControlPath

Mendapatkan atau mengatur jalur ke kontrol pengguna yang berisi daftar WebPart atau kontrol server lainnya untuk katalog.

WebPartsTemplate

Mendapatkan atau mengatur referensi ke templat yang berisi WebPart kontrol yang dideklarasikan dalam katalog.

Width

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

Wrap

Properti yang diwariskan ini tidak digunakan oleh DeclarativeCatalogPart kontrol. Properti ini hanya ditimpa untuk tujuan mencegahnya muncul di alat desainer Microsoft Visual Studio 2005.

Zone

Mendapatkan referensi ke CatalogZoneBase zona yang berisi CatalogPart kontrol.

(Diperoleh dari CatalogPart)

Metode

AddAttributesToRender(HtmlTextWriter)

Menambahkan informasi tentang gambar latar belakang, perataan, pembungkusan, dan arah ke daftar atribut yang akan dirender.

(Diperoleh dari Panel)
AddedControl(Control, Int32)

Dipanggil setelah kontrol anak ditambahkan ke Controls koleksi Control objek.

(Diperoleh dari Control)
AddParsedSubObject(Object)

Memberi tahu kontrol server bahwa elemen, baik XML atau HTML, diurai, dan menambahkan elemen ke objek kontrol ControlCollection server.

(Diperoleh dari Control)
ApplyStyle(Style)

Menyalin elemen tidak kosong dari gaya yang ditentukan ke kontrol Web, menimpa elemen gaya kontrol yang ada. Metode ini terutama digunakan oleh pengembang kontrol.

(Diperoleh dari WebControl)
ApplyStyleSheetSkin(Page)

Menerapkan properti gaya yang ditentukan dalam lembar gaya halaman ke kontrol.

(Diperoleh dari Control)
BeginRenderTracing(TextWriter, Object)

Memulai pelacakan waktu desain untuk merender data.

(Diperoleh dari Control)
BuildProfileTree(String, Boolean)

Mengumpulkan informasi tentang kontrol server dan mengirimkannya ke properti yang Trace akan ditampilkan saat pelacakan diaktifkan untuk halaman.

(Diperoleh dari Control)
ClearCachedClientID()

Mengatur nilai yang di-cache ClientID ke null.

(Diperoleh dari Control)
ClearChildControlState()

Menghapus informasi status-kontrol untuk kontrol anak kontrol server.

(Diperoleh dari Control)
ClearChildState()

Menghapus informasi status-tampilan dan status-kontrol untuk semua kontrol turunan kontrol server.

(Diperoleh dari Control)
ClearChildViewState()

Menghapus informasi status tampilan untuk semua kontrol anak kontrol server.

(Diperoleh dari Control)
ClearEffectiveClientIDMode()

Mengatur properti instans ClientIDMode kontrol saat ini dan kontrol turunan apa pun ke Inherit.

(Diperoleh dari Control)
CopyBaseAttributes(WebControl)

Menyalin properti yang tidak dienkapsulasi oleh Style objek dari kontrol server Web yang ditentukan ke kontrol server Web tempat metode ini dipanggil. Metode ini digunakan terutama oleh pengembang kontrol.

(Diperoleh dari WebControl)
CreateChildControls()

Dipanggil oleh kerangka kerja halaman ASP.NET untuk memberi tahu kontrol server yang menggunakan implementasi berbasis komposisi untuk membuat kontrol anak apa pun yang dikandungnya sebagai persiapan untuk memposting kembali atau merender.

(Diperoleh dari Control)
CreateControlCollection()

Membuat objek baru ControlCollection untuk menahan kontrol anak (baik literal maupun server) dari kontrol server.

(Diperoleh dari Control)
CreateControlStyle()

Membuat objek gaya yang digunakan secara internal oleh Panel kontrol untuk mengimplementasikan semua properti terkait gaya.

(Diperoleh dari Panel)
DataBind()

Mengikat sumber data ke kontrol server yang dipanggil dan semua kontrol turunannya.

(Diperoleh dari Part)
DataBind(Boolean)

Mengikat sumber data ke kontrol server yang dipanggil dan semua kontrol turunannya dengan opsi untuk menaikkan DataBinding peristiwa.

(Diperoleh dari Control)
DataBindChildren()

Mengikat sumber data ke kontrol anak kontrol server.

(Diperoleh dari Control)
Dispose()

Memungkinkan kontrol server untuk melakukan pembersihan akhir sebelum dilepaskan dari memori.

(Diperoleh dari Control)
EndRenderTracing(TextWriter, Object)

Mengakhiri pelacakan waktu desain penyajian data.

(Diperoleh dari Control)
EnsureChildControls()

Menentukan apakah kontrol server memuat kontrol turunan. Jika tidak, ia membuat kontrol anak.

(Diperoleh dari Control)
EnsureID()

Membuat pengidentifikasi untuk kontrol yang tidak memiliki pengidentifikasi yang ditetapkan.

(Diperoleh dari Control)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FindControl(String)

Mencari kontainer penamaan saat ini untuk kontrol server dengan parameter yang ditentukan id .

(Diperoleh dari Control)
FindControl(String, Int32)

Mencari kontainer penamaan saat ini untuk kontrol server dengan bilangan bulat dan yang ditentukan id , yang ditentukan dalam pathOffset parameter , yang membantu dalam pencarian. Anda tidak boleh mengambil alih versi FindControl metode ini.

(Diperoleh dari Control)
Focus()

Mengatur fokus input ke kontrol.

(Diperoleh dari Control)
GetAvailableWebPartDescriptions()

Mengembalikan kumpulan deskripsi kontrol yang tersedia WebPart dalam katalog.

GetDesignModeState()

Mengambil status CatalogPart zona induk kontrol saat ini.

(Diperoleh dari CatalogPart)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetRouteUrl(Object)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute.

(Diperoleh dari Control)
GetRouteUrl(RouteValueDictionary)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute.

(Diperoleh dari Control)
GetRouteUrl(String, Object)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute dan nama rute.

(Diperoleh dari Control)
GetRouteUrl(String, RouteValueDictionary)

Mendapatkan URL yang sesuai dengan sekumpulan parameter rute dan nama rute.

(Diperoleh dari Control)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
GetUniqueIDRelativeTo(Control)

Mengembalikan bagian awalan dari UniqueID properti kontrol yang ditentukan.

(Diperoleh dari Control)
GetWebPart(WebPartDescription)

Mengembalikan referensi ke WebPart kontrol berdasarkan nilai deskripsi yang diteruskan ke metode .

HasControls()

Menentukan apakah kontrol server berisi kontrol anak apa pun.

(Diperoleh dari Control)
HasEvents()

Mengembalikan nilai yang menunjukkan apakah peristiwa terdaftar untuk kontrol atau kontrol turunan apa pun.

(Diperoleh dari Control)
IsLiteralContent()

Menentukan apakah kontrol server hanya menyimpan konten harfiah.

(Diperoleh dari Control)
LoadControlState(Object)

Memulihkan informasi status kontrol dari permintaan halaman sebelumnya yang disimpan oleh SaveControlState() metode .

(Diperoleh dari Control)
LoadViewState(Object)

Memulihkan informasi status tampilan dari permintaan sebelumnya yang disimpan dengan SaveViewState() metode .

(Diperoleh dari WebControl)
MapPathSecure(String)

Mengambil jalur fisik tempat jalur virtual, baik absolut atau relatif, dipetakan.

(Diperoleh dari Control)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MergeStyle(Style)

Menyalin elemen tidak kosong dari gaya yang ditentukan ke kontrol Web, tetapi tidak akan menimpa elemen gaya kontrol yang ada. Metode ini digunakan terutama oleh pengembang kontrol.

(Diperoleh dari WebControl)
OnBubbleEvent(Object, EventArgs)

Menentukan apakah peristiwa untuk kontrol server diteruskan ke hierarki kontrol server UI halaman.

(Diperoleh dari Control)
OnDataBinding(EventArgs)

Memunculkan kejadian DataBinding.

(Diperoleh dari Control)
OnInit(EventArgs)

Memunculkan kejadian Init.

(Diperoleh dari Control)
OnLoad(EventArgs)

Memunculkan kejadian Load.

(Diperoleh dari Control)
OnPreRender(EventArgs)

Memunculkan kejadian PreRender.

(Diperoleh dari CatalogPart)
OnUnload(EventArgs)

Memunculkan kejadian Unload.

(Diperoleh dari Control)
OpenFile(String)

Stream Terbiasa membaca file.

(Diperoleh dari Control)
RaiseBubbleEvent(Object, EventArgs)

Menetapkan sumber peristiwa apa pun dan informasinya ke induk kontrol.

(Diperoleh dari Control)
RemovedControl(Control)

Dipanggil setelah kontrol anak dihapus dari Controls koleksi Control objek.

(Diperoleh dari Control)
Render(HtmlTextWriter)

Merender kontrol ke penulis HTML yang ditentukan.

(Diperoleh dari WebControl)
RenderBeginTag(HtmlTextWriter)

Merender tag pembuka HTML kontrol Panel ke penulis yang ditentukan.

(Diperoleh dari Panel)
RenderChildren(HtmlTextWriter)

Menghasilkan konten turunan kontrol server ke objek yang disediakan HtmlTextWriter , yang menulis konten yang akan dirender pada klien.

(Diperoleh dari Control)
RenderContents(HtmlTextWriter)

Merender konten kontrol ke penulis yang ditentukan. Metode ini digunakan terutama oleh pengembang kontrol.

(Diperoleh dari WebControl)
RenderControl(HtmlTextWriter)

Output konten kontrol server ke objek yang disediakan HtmlTextWriter dan menyimpan informasi pelacakan tentang kontrol jika pelacakan diaktifkan.

(Diperoleh dari Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Output konten kontrol server ke objek yang disediakan HtmlTextWriter menggunakan objek yang disediakan ControlAdapter .

(Diperoleh dari Control)
RenderEndTag(HtmlTextWriter)

Merender tag penutup HTML kontrol Panel ke penulis yang ditentukan.

(Diperoleh dari Panel)
ResolveAdapter()

Mendapatkan adaptor kontrol yang bertanggung jawab untuk merender kontrol yang ditentukan.

(Diperoleh dari Control)
ResolveClientUrl(String)

Mendapatkan URL yang dapat digunakan oleh browser.

(Diperoleh dari Control)
ResolveUrl(String)

Mengonversi URL menjadi URL yang dapat digunakan pada klien yang meminta.

(Diperoleh dari Control)
SaveControlState()

Menyimpan perubahan status kontrol server apa pun yang telah terjadi sejak halaman diposting kembali ke server.

(Diperoleh dari Control)
SaveViewState()

Menyimpan status apa pun yang dimodifikasi setelah TrackViewState() metode dipanggil.

(Diperoleh dari WebControl)
SetDesignModeState(IDictionary)

Mengatur data waktu desain untuk kontrol.

(Diperoleh dari CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Menetapkan delegasi penanganan aktivitas untuk merender kontrol server dan kontennya ke dalam kontrol induknya.

(Diperoleh dari Control)
SetTraceData(Object, Object)

Mengatur data pelacakan untuk pelacakan waktu desain data penyajian, menggunakan kunci data pelacakan dan nilai data pelacakan.

(Diperoleh dari Control)
SetTraceData(Object, Object, Object)

Mengatur data pelacakan untuk pelacakan waktu desain data penyajian, menggunakan objek yang dilacak, kunci data pelacakan, dan nilai data pelacakan.

(Diperoleh dari Control)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TrackViewState()

Menyebabkan kontrol melacak perubahan pada status tampilannya sehingga dapat disimpan di properti objek ViewState .

(Diperoleh dari WebControl)

Acara

DataBinding

Terjadi ketika kontrol server mengikat ke sumber data.

(Diperoleh dari Control)
Disposed

Terjadi ketika kontrol server dilepaskan dari memori, yang merupakan tahap terakhir dari siklus hidup kontrol server ketika halaman ASP.NET diminta.

(Diperoleh dari Control)
Init

Terjadi ketika kontrol server diinisialisasi, yang merupakan langkah pertama dalam siklus hidupnya.

(Diperoleh dari Control)
Load

Terjadi ketika kontrol server dimuat ke Page dalam objek.

(Diperoleh dari Control)
PreRender

Terjadi setelah Control objek dimuat tetapi sebelum penyajian.

(Diperoleh dari Control)
Unload

Terjadi ketika kontrol server dibongkar dari memori.

(Diperoleh dari Control)

Implementasi Antarmuka Eksplisit

IAttributeAccessor.GetAttribute(String)

Mendapatkan atribut kontrol Web dengan nama yang ditentukan.

(Diperoleh dari WebControl)
IAttributeAccessor.SetAttribute(String, String)

Mengatur atribut kontrol Web ke nama dan nilai yang ditentukan.

(Diperoleh dari WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Memungkinkan pengembang perancang untuk kontrol bagian komposit untuk membuat ulang kontrol anak kontrol pada permukaan desain.

(Diperoleh dari Part)
IControlBuilderAccessor.ControlBuilder

Untuk deskripsi anggota ini, lihat ControlBuilder.

(Diperoleh dari Control)
IControlDesignerAccessor.GetDesignModeState()

Untuk deskripsi anggota ini, lihat GetDesignModeState().

(Diperoleh dari Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Untuk deskripsi anggota ini, lihat SetDesignModeState(IDictionary).

(Diperoleh dari Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Untuk deskripsi anggota ini, lihat SetOwnerControl(Control).

(Diperoleh dari Control)
IControlDesignerAccessor.UserData

Untuk deskripsi anggota ini, lihat UserData.

(Diperoleh dari Control)
IDataBindingsAccessor.DataBindings

Untuk deskripsi anggota ini, lihat DataBindings.

(Diperoleh dari Control)
IDataBindingsAccessor.HasDataBindings

Untuk deskripsi anggota ini, lihat HasDataBindings.

(Diperoleh dari Control)
IExpressionsAccessor.Expressions

Untuk deskripsi anggota ini, lihat Expressions.

(Diperoleh dari Control)
IExpressionsAccessor.HasExpressions

Untuk deskripsi anggota ini, lihat HasExpressions.

(Diperoleh dari Control)
IParserAccessor.AddParsedSubObject(Object)

Untuk deskripsi anggota ini, lihat AddParsedSubObject(Object).

(Diperoleh dari Control)

Metode Ekstensi

FindDataSourceControl(Control)

Mengembalikan sumber data yang terkait dengan kontrol data untuk kontrol yang ditentukan.

FindFieldTemplate(Control, String)

Mengembalikan templat bidang untuk kolom yang ditentukan dalam kontainer penamaan kontrol yang ditentukan.

FindMetaTable(Control)

Mengembalikan objek metatable untuk kontrol data yang berisi.

GetDefaultValues(INamingContainer)

Mendapatkan kumpulan nilai default untuk kontrol data yang ditentukan.

GetMetaTable(INamingContainer)

Mendapatkan metadata tabel untuk kontrol data yang ditentukan.

SetMetaTable(INamingContainer, MetaTable)

Mengatur metadata tabel untuk kontrol data yang ditentukan.

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

Mengatur metadata tabel dan pemetaan nilai default untuk kontrol data yang ditentukan.

SetMetaTable(INamingContainer, MetaTable, Object)

Mengatur metadata tabel dan pemetaan nilai default untuk kontrol data yang ditentukan.

TryGetMetaTable(INamingContainer, MetaTable)

Menentukan apakah metadata tabel tersedia.

EnableDynamicData(INamingContainer, Type)

Mengaktifkan perilaku Data Dinamis untuk kontrol data yang ditentukan.

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

Mengaktifkan perilaku Data Dinamis untuk kontrol data yang ditentukan.

EnableDynamicData(INamingContainer, Type, Object)

Mengaktifkan perilaku Data Dinamis untuk kontrol data yang ditentukan.

Berlaku untuk

Lihat juga