Bagikan melalui


ImportCatalogPart Kelas

Definisi

Mengimpor file deskripsi untuk WebPart kontrol (atau kontrol server ASP.NET lain yang WebPart digunakan sebagai kontrol), sehingga pengguna dapat menambahkan kontrol ke halaman Web dengan pengaturan yang telah ditentukan sebelumnya. Kelas ini tidak dapat diwariskan.

public ref class ImportCatalogPart sealed : System::Web::UI::WebControls::WebParts::CatalogPart
public sealed class ImportCatalogPart : System.Web.UI.WebControls.WebParts.CatalogPart
type ImportCatalogPart = class
    inherit CatalogPart
Public NotInheritable Class ImportCatalogPart
Inherits CatalogPart
Warisan

Contoh

Contoh kode berikut menunjukkan cara menggunakan ImportCatalogPart kontrol secara deklaratif dan terprogram 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 ImportCatalogPart 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 pengguna mengubah mode tampilan pada halaman Web. Anda harus menempatkan kode sumber berikut dalam file dan memberi nama Displaymodemenucs.ascx atau Displaymodemenuvb.ascx (tergantung pada bahasa mana yang Anda gunakan). 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="&nbsp;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="&nbsp;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 ImportCatalogPart kontrol, bersarang dalam hierarki elemen deklaratif yang tepat. Perhatikan juga bahwa beberapa nilai properti ditetapkan secara deklaratif pada <asp:importcatalogpart> elemen . Selain itu, metode memperbarui Button1_Click sejumlah nilai properti pada ImportCatalogPart kontrol.

Dalam kontrol halaman WebPartZone , dua kontrol kustom WebPart dideklarasikan. Kontrol <aspSample:userinfowebpart> memiliki exportmode="all" atribut di atasnya. Atribut ini diperlukan untuk memungkinkan pengguna mengekspor file deskripsi untuk kontrol, yang kemudian dapat diimpor oleh pengguna lain yang ingin mengimpor kontrol menggunakan file deskripsi.

Catatan

Untuk memungkinkan pengguna aplikasi Bagian Web mengekspor file deskripsi untuk WebPart kontrol, Anda juga harus mengaktifkan fitur ekspor di aplikasi Web dengan menambahkan enableExport="true" atribut ke <webParts> elemen (yang merupakan anak dari <system.web> elemen) dalam file Web.config. Ekspor dinonaktifkan secara default, jadi jika Anda belum mengaktifkan ekspor untuk aplikasi Anda, edit file Web.config dan lakukan sekarang.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  // <snippet3>
  protected void Button1_Click(object sender, EventArgs e)
  {
    ImportCatalogPart1.Title = "Import Server Controls";
    ImportCatalogPart1.BrowseHelpText = "Enter the path to a "
      + "description file.";
    ImportCatalogPart1.UploadButtonText = "Upload Description";
    ImportCatalogPart1.UploadHelpText = "Upload a description file.";
    ImportCatalogPart1.ImportedPartLabelText = "Imported Controls";
    ImportCatalogPart1.PartImportErrorLabelText = "An error occurred " 
      + "during the import process.";

  }
  // </snippet3>
  
  protected void Page_Load(object sender, EventArgs e)
  {
    Button1.Visible = false;
  }

  protected void ImportCatalogPart1_PreRender(object sender, 
    EventArgs e)
  {
    Button1.Visible = true;
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>
      ImportCatalogPart 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>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="TextDisplayWebPart1" 
            title = "Text Display WebPart" /> 
          <aspsample:userinfowebpart id="userinfo1" runat="server" 
            Title="User Information" exportmode="all" />
        </zonetemplate>
      </asp:webpartzone> 
      <asp:EditorZone ID="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" 
            runat="server" />
        </ZoneTemplate>
      </asp:EditorZone>
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:ImportCatalogPart ID="ImportCatalogPart1" 
            runat="server" 
            Title="My ImportCatalogPart" 
            OnPreRender="ImportCatalogPart1_PreRender"
            BrowseHelpText="Type a path or browse to find a control's 
              description file." 
            UploadButtonText="Upload Description File" 
            UploadHelpText="Click the button to upload the description 
              file."
            ImportedPartLabelText="My User Information WebPart" 
            PartImportErrorLabelText="An error occurred while trying 
              to import a description file."  />
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="Update ImportCatalogPart" 
        OnClick="Button1_Click" />
    </form>
  </body>
</html>
<%@ page language="VB" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  ' <snippet3>
  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
      ImportCatalogPart1.Title = "Import Server Controls"
      ImportCatalogPart1.BrowseHelpText = "Enter the path to a " _
        & "description file."
      ImportCatalogPart1.UploadButtonText = "Upload Description"
      ImportCatalogPart1.UploadHelpText = "Upload a description file."
      ImportCatalogPart1.ImportedPartLabelText = "Imported Controls"
      ImportCatalogPart1.PartImportErrorLabelText = "An error occurred " _
        & "during the import process."
  End Sub
  ' </snippet3>

  Protected Sub Page_Load(ByVal sender As Object, _
    ByVal e As EventArgs)
      Button1.Visible = false
  End Sub

  Protected Sub ImportCatalogPart1_PreRender(ByVal sender As Object, _
    ByVal e As EventArgs)
      Button1.Visible = true
  End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>
      ImportCatalogPart 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>
          <aspSample:TextDisplayWebPart 
            runat="server"   
            id="TextDisplayWebPart1" 
            title = "Text Display WebPart" /> 
          <aspsample:userinfowebpart id="userinfo1" runat="server" 
            Title="User Information" exportmode="all" />
        </zonetemplate>
      </asp:webpartzone> 
      <asp:EditorZone ID="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" 
            runat="server" />
        </ZoneTemplate>
      </asp:EditorZone>
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:ImportCatalogPart ID="ImportCatalogPart1" 
            runat="server" 
            Title="My ImportCatalogPart" 
            OnPreRender="ImportCatalogPart1_PreRender"
            BrowseHelpText="Type a path or browse to find a control's 
              description file." 
            UploadButtonText="Upload Description File" 
            UploadHelpText="Click the button to upload the description 
              file."
            ImportedPartLabelText="My User Information WebPart" 
            PartImportErrorLabelText="An error occurred while trying 
              to import a description file."  />
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="Update ImportCatalogPart" 
        OnClick="Button1_Click" />
    </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. Contoh kode ini menggunakan kompilasi dinamis. Untuk panduan yang menunjukkan kedua metode kompilasi, lihat Panduan: Mengembangkan dan Menggunakan Kontrol Server Web Kustom.

Kontrol kustom yang disebut TextDisplayWebPart dirujuk pada halaman Web dengan <aspSample:TextDisplayWebPart> elemen . Kontrol lain, yang disebut UserInfoWebPart, juga dideklarasikan pada halaman Web pada awalnya, meskipun Anda akan menghapusnya nanti untuk menunjukkan kemampuan untuk mengimpor file deskripsi untuk kontrol.

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 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 PetNickNameLabel;
    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);

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

      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();
      PetNickNameLabel.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 = Context.Server.HtmlEncode(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 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 PetNickNameLabel 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)

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

      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()
      PetNickNameLabel.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 String.IsNullOrEmpty(input.Text) = False Then
        _contentText = Context.Server.HtmlEncode(input.Text) + "<br />"
        input.Text = String.Empty
        DisplayContent.Text = Me.ContentText
      End If

    End Sub

  End Class

End Namespace

Sekarang jalankan contoh kode. Muat halaman Web di browser. Langkah pertama adalah mengedit UserInfoWebPart kontrol. Gunakan kontrol daftar drop-down Mode Tampilan dan pilih Edit untuk mengalihkan halaman ke mode edit. Klik menu UserInfoWebPart kata kerja kontrol (panah ke bawah di bilah judul), lalu klik Edit. Saat antarmuka pengguna pengeditan muncul, beberapa kontrol pengeditan muncul di bawah UserInfoWebPart kontrol yang bisa Anda gunakan untuk mengedit nilai bidangnya. Edit beberapa bidang, klik OK, lalu gunakan drop-down Mode Tampilan untuk mengembalikan halaman untuk menelusuri mode.

Langkah kedua adalah mengekspor . File deskripsi WebPart untuk UserInfoWebPart kontrol. Klik menu kata kerja pada kontrol kustom (diwakili oleh panah ke bawah di bilah judul), dan klik Ekspor. Ikuti instruksi untuk menyimpan . File deskripsi WebPart untuk kontrol. Sekarang tutup halaman Web, dan edit sumber halaman di editor. <aspSample:userinfowebpart> Hapus elemen deklarasi kontrol, lalu simpan dan tutup file. (Anda melakukan langkah ini untuk mensimulasikan pengguna yang belum memiliki UserInfoWebPart kontrol, sehingga Anda dapat mengimpor kontrol ke halaman).

Muat halaman Web lagi di browser. UserInfoWebPart Kontrol seharusnya tidak muncul, karena Anda menghapusnya. Gunakan kontrol daftar drop-down Mode Tampilan dan pilih Katalog untuk mengalihkan halaman ke mode katalog. ImportCatalogPart Di kontrol, klik tombol Telusuri, dan telusuri ke . File WebPart yang Anda buat, lalu klik tombol Unggah. Referensi ke kontrol akan muncul dengan kotak centang di sampingnya. Pilih kotak centang, lalu klik Tambahkan untuk menambahkan kontrol ke halaman.

Saat Anda berada dalam tampilan halaman ini, klik tombol Perbarui ImportCatalogPart di dekat bagian bawah halaman untuk melihat efek memperbarui sejumlah nilai properti secara terprogram pada ImportCatalogPart kontrol. Setelah mengklik tombol , amati bagaimana berbagai properti diubah di UI.

Terakhir, klik Tutup untuk keluar dari mode katalog dan kembalikan halaman untuk menelusuri mode. UserInfoWebPart Kontrol sekarang akan muncul di halaman, yang berisi nilai yang dimilikinya saat Anda mengekspornya sebelumnya.

Keterangan

Kontrol ini ImportCatalogPart memungkinkan pengguna mengimpor file deskripsi yang menjelaskan pengaturan pada WebPart kontrol atau kontrol server yang ingin ditambahkan pengguna ke WebPartZoneBase zona.

Setelah pengguna mengimpor file deskripsi, kontrol yang WebPart dirujuk dalam file muncul dalam ImportCatalogPart kontrol, dan pengguna dapat menambahkan kontrol ke halaman.

File deskripsi tidak sama dengan kontrol itu sendiri. Ini adalah file XML yang diakhir dengan . Ekstensi WebPart dan berisi pasangan nama/nilai--sebagian besar nilai properti--yang menjelaskan status kontrol. File deskripsi dibuat sesuai dengan format XML tertentu, seperti yang dijelaskan dalam topik File Deskripsi Kontrol Bagian Web.

Adapun kontrol yang dirujuk oleh file deskripsi, file tersebut dapat dikompilasi ke dalam perakitan, atau dapat menjadi kontrol pengguna yang ditentukan dalam file .ascx. Dalam kedua kasus, kontrol yang direferensikan dalam file deskripsi yang diimpor harus ada di server Web yang menghosting halaman yang mencoba mengimpor kontrol. File deskripsi mereferensikan nama kontrol dan rakitan (atau file) yang berisi kontrol, dan file deskripsi berisi pengaturan yang memengaruhi nilai, tampilan, dan perilaku properti kontrol.

Kontrol ini ImportCatalogPart memungkinkan pengguna untuk berbagi pengaturan pada kontrol. Kontrol kompleks dapat memiliki banyak properti dan pengaturan. Misalnya, di situs intranet umum dalam perusahaan besar, kontrol kustom WebPart mungkin berisi sejumlah properti yang menyimpan nilai khusus untuk lingkungan pengguna, seperti koneksi database mereka, informasi departemen, dan sebagainya. Kontrol mungkin juga berisi sejumlah properti yang memengaruhi tampilannya. Satu pengguna dapat mempersonalisasi kontrol pada situs tertentu dan membuatnya berfungsi dengan baik, mengekspor file deskripsi untuk kontrol, lalu berbagi file deskripsi dengan pengguna lain, yang dapat mengimpor file untuk menambahkan kontrol yang dikonfigurasi sepenuhnya ke situs intranet lain yang diizinkan untuk dipersonalisasi. Selama file rakitan atau kontrol pengguna yang dikompilasi yang berisi kontrol ada di server Web yang menghosting situs mereka, pengguna dapat menambahkan kontrol ke situs Web lainnya.

Mekanisme di mana pengguna mengimpor file deskripsi (dan karenanya kontrol server terkait) ke halaman Web adalah ImportCatalogPart kontrol, yang harus ditambahkan pengembang halaman ke halaman Web. Saat pengguna mengalihkan halaman ke mode tampilan katalog, ImportCatalogPart kontrol muncul, dan pengguna dapat menggunakan kontrol ini untuk menelusuri ke . File deskripsi WebPart yang sesuai dengan kontrol server yang ingin mereka impor. Mengikuti UI dan instruksi yang disediakan oleh ImportCatalogPart kontrol, pengguna dapat menambahkan kontrol server yang diinginkan ke halaman Web, dengan tampilan dan propertinya sepenuhnya dikonfigurasi seperti yang ditentukan dalam file deskripsi yang diimpor.

WebPart Sebelum file deskripsi kontrol dapat diimpor, pengguna harus terlebih dahulu membuat (mengekspor) file berdasarkan kontrol yang adaWebPart. File deskripsi dapat diekspor untuk kontrol jika kondisi berikut terpenuhi:

  • Kontrol memiliki properti yang ditandai dengan Personalizable atribut .

  • File Web.config memiliki nilai atribut yang enableExport diatur ke true<webParts> pada elemen .

  • Pengembang menetapkan nilai ExportMode properti pada kontrol ke nilai selain nilai Nonedefault , yang melarang ekspor. ExportMode Jika nilai properti diatur ke NonSensitiveData, properti apa pun yang berisi IsSensitive parameter dengan Personalizable atribut tidak diekspor saat pengguna mengekspor file deskripsi. Ini memungkinkan pengembang kontrol untuk mencegah data sensitif, seperti string koneksi, agar tidak diekspor dalam situasi tertentu.

Pengguna dapat mengekspor kontrol yang telah diaktifkan untuk diekspor dengan mengklik kata kerja ekspor yang muncul di menu kata kerja kontrol, dan mengikuti instruksi untuk menyimpan . File deskripsi WebPart untuk kontrol. Pengguna lain kemudian dapat mengimpor file ini untuk mengonfigurasi instans kontrol mereka sendiri.

Kelas ImportCatalogPart berisi beberapa properti. Properti BrowseHelpText berisi teks dengan instruksi untuk pengguna saat mereka menelusuri untuk menemukan file deskripsi. Properti ImportedPartLabelText berisi teks yang berfungsi sebagai label untuk kontrol yang diimpor seperti yang muncul di ImportCatalogPart dalam kontrol. PartImportErrorLabelText berisi teks yang ditampilkan jika terjadi kesalahan saat deskripsi kontrol sedang diimpor. Properti Title mengambil alih properti dasar untuk menetapkan judul default untuk ImportCatalogPart kontrol jika pengembang tidak menetapkan judul. Properti UploadButtonText berisi teks untuk tombol yang diklik pengguna untuk mengunggah file deskripsi, dan UploadHelpText properti berisi instruksi untuk proses unggahan.

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

Ada beberapa risiko melekat yang terkait dengan penggunaan ImportCatalogPart kontrol. Salah satu contohnya adalah kemungkinan mengimpor data berbahaya ke aplikasi Web Anda melalui file deskripsi yang digunakan untuk mengimpor. Jika seseorang telah menempatkan kode skrip berbahaya sebagai nilai properti string dalam file deskripsi, skrip tersebut berpotensi dijalankan saat pengguna mengimpor file deskripsi dan menambahkan kontrol server yang dirujuk ke halaman Web. Untuk meminimalkan risiko mengimpor file deskripsi dengan data berbahaya, kontrol server yang memiliki properti jenis string harus selalu mengodekan data properti. Risiko lain melibatkan impor jenis melalui file deskripsi (lihat File Deskripsi Kontrol Bagian Web). Pengguna jahat dapat mengirimkan permintaan untuk memuat banyak rakitan ke dalam AppDomain, yang mengakibatkan jumlah memori yang berlebihan dikonsumsi.

Untuk menghindari risiko yang terkait dengan impor, Anda dapat menonaktifkan fitur sama sekali dengan tidak menggunakan fitur impor atau ImportCatalogPart kontrol. Atau Anda dapat membatasi pengguna apa yang memiliki akses ke kontrol. Anda dapat melakukan ini secara terprogram, menggunakan manajemen peran (lihat Mengelola Otorisasi Menggunakan Peran). Misalnya, saat halaman dimuat, Anda dapat menguji untuk melihat apakah pengguna berada dalam peran tertentu, seperti peran administrator. Jika pengguna berada dalam peran, Anda dapat secara terprogram menambahkan ImportCatalogPart kontrol ke halaman untuk pengguna tersebut. Anda juga dapat menggunakan pendekatan deklaratif untuk membatasi sekumpulan pengguna yang dapat menggunakan ImportCatalogPart kontrol. Dalam halaman web Anda yang berisi katalog, Anda dapat menempatkan dua CatalogZone kontrol: satu untuk pengguna yang dapat mengimpor, dan satu untuk mereka yang tidak bisa. Zona untuk pengguna yang dapat mengimpor akan berisi ImportCatalogPart kontrol. Zona itu sendiri dapat ditempatkan di dalam LoginView kontrol, yang akan memungkinkan Anda membatasi penggunaan kontrol di zona hanya untuk pengguna atau peran terautentikasi yang Anda tentukan.

Konstruktor

ImportCatalogPart()

Menginisialisasi instans baru kelas ImportCatalogPart.

Properti

AccessKey

Mendapatkan atau mengatur kunci akses yang memungkinkan Anda menavigasi dengan cepat ke kontrol server Web.

(Diperoleh dari WebControl)
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

Mendapatkan atau mengatur warna latar belakang kontrol server Web.

(Diperoleh dari WebControl)
BackImageUrl

Mendapatkan atau mengatur URL gambar latar belakang untuk kontrol panel.

(Diperoleh dari Panel)
BindingContainer

Mendapatkan kontrol yang berisi pengikatan data kontrol ini.

(Diperoleh dari Control)
BorderColor

Mendapatkan atau mengatur warna batas kontrol Web.

(Diperoleh dari WebControl)
BorderStyle

Mendapatkan atau mengatur gaya batas kontrol server Web.

(Diperoleh dari WebControl)
BorderWidth

Mendapatkan atau mengatur lebar batas kontrol server Web.

(Diperoleh dari WebControl)
BrowseHelpText

Mendapatkan atau mengatur pesan teks yang menginstruksikan pengguna untuk menelusuri ke lokasi file deskripsi.

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

Mendapatkan atau mengatur kelas Cascading Style Sheet (CSS) yang dirender oleh kontrol server Web pada klien.

(Diperoleh dari WebControl)
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

Mendapatkan atau mengatur tombol apa di antarmuka pengguna (UI) diperlakukan sebagai tombol default yang menerima fokus ketika formulir yang berisi tombol dirender. Properti ini tidak dimaksudkan untuk dipanggil dari kode pengembang halaman.

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

Mendapatkan atau mengatur arah untuk menampilkan kontrol yang menyertakan teks dalam Panel kontrol.

(Diperoleh dari Panel)
DisplayTitle

Mendapatkan string yang berisi judul kontrol aktual CatalogPart saat ini.

(Diperoleh dari CatalogPart)
Enabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol server Web diaktifkan.

(Diperoleh dari WebControl)
EnableTheming

Mendapatkan atau menetapkan nilai yang menunjukkan apakah tema berlaku untuk kontrol ini.

(Diperoleh dari WebControl)
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

Mendapatkan properti font yang terkait dengan kontrol server Web.

(Diperoleh dari WebControl)
ForeColor

Mendapatkan atau mengatur warna latar depan (biasanya warna teks) kontrol server Web.

(Diperoleh dari WebControl)
GroupingText

Mendapatkan atau mengatur keterangan untuk grup kontrol yang terkandung dalam kontrol panel.

(Diperoleh dari Panel)
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

Mendapatkan atau mengatur tinggi kontrol server Web.

(Diperoleh dari WebControl)
HorizontalAlign

Mendapatkan atau mengatur perataan horizontal konten di dalam panel.

(Diperoleh dari Panel)
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)
ImportedPartLabelText

Mendapatkan atau mengatur teks yang ditampilkan setelah pengguna mengimpor file deskripsi untuk mewakili atau menjelaskan kontrol yang diimpor dalam katalog kontrol yang diimpor.

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

Mendapatkan atau mengatur pesan kesalahan yang ditampilkan jika terjadi kesalahan selama proses impor.

RenderingCompatibility

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

(Diperoleh dari Control)
ScrollBars

Mendapatkan atau mengatur visibilitas dan posisi bilah gulir dalam Panel kontrol.

(Diperoleh dari Panel)
Site

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

(Diperoleh dari Control)
SkinID

Mendapatkan atau mengatur kulit untuk diterapkan pada kontrol.

(Diperoleh dari WebControl)
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

Mendapatkan atau mengatur indeks tab kontrol server Web.

(Diperoleh dari WebControl)
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 ImportCatalogPart judul kontrol.

ToolTip

Mendapatkan atau mengatur teks yang ditampilkan saat penunjuk mouse mengarah ke kontrol server Web.

(Diperoleh dari WebControl)
UniqueID

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

(Diperoleh dari Control)
UploadButtonText

Mendapatkan atau mengatur teks untuk Button kontrol yang memulai pengunggahan file deskripsi.

UploadHelpText

Mendapatkan atau mengatur teks pesan yang memberi tahu pengguna cara mengunggah file deskripsi.

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

Mendapatkan atau mengatur nilai yang menunjukkan apakah kontrol server dirender sebagai UI di halaman.

(Diperoleh dari Control)
WebPartManager

Mendapatkan referensi ke instans WebPartManager kelas saat ini.

(Diperoleh dari CatalogPart)
Width

Mendapatkan atau mengatur lebar kontrol server Web.

(Diperoleh dari WebControl)
Wrap

Mendapatkan atau menetapkan nilai yang menunjukkan apakah konten dibungkus dalam panel.

(Diperoleh dari Panel)
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 dalam 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