Sdílet prostřednictvím


ImportCatalogPart Třída

Definice

Importuje soubor WebPart popisu ovládacího prvku (nebo jiného ASP.NET serverového ovládacího prvku použitého WebPart jako ovládací prvek), aby uživatelé mohli přidat ovládací prvek na webovou stránku s předdefinovaných nastavení. Tato třída se nemůže dědit.

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
Dědičnost

Příklady

Následující příklad kódu ukazuje, jak použít ImportCatalogPart ovládací prvek deklarativně a programově na webové stránce. Příklad má čtyři části:

  • Uživatelský ovládací prvek, který umožňuje změnit režimy zobrazení na stránce webových částí.

  • Webová stránka, která obsahuje ovládací prvek CatalogZone a ovládací ImportCatalogPart prvek.

  • Soubor zdrojového kódu, který obsahuje dva vlastní WebPart ovládací prvky.

  • Vysvětlení toho, jak příklad funguje při načtení stránky v prohlížeči

První část tohoto příkladu kódu je uživatelský ovládací prvek, který umožňuje uživatelům změnit režimy zobrazení na webové stránce. Do souboru byste měli umístit následující zdrojový kód a pojmenovat ho Displaymodemenucs.ascx nebo Displaymodemenuvb.ascx (podle toho, který jazyk používáte). Podrobnosti o režimech zobrazení a popis zdrojového kódu v tomto ovládacím prvku najdete v tématu Návod: Změna režimů zobrazení na stránce webových částí.

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

Druhou částí příkladu kódu je webová stránka. V horní části stránky jsou dvě register direktivy, jedna pro uživatelský ovládací prvek a jedna pro kompilovanou komponentu, která obsahuje dva vlastní WebPart ovládací prvky. Všimněte si, že stránka obsahuje deklarativní odkaz na ImportCatalogPart ovládací prvek vnořený ve správné hierarchii deklarativních prvků. Všimněte si také, že několik hodnot vlastností je přiřazeno deklarativně v elementu <asp:importcatalogpart> . Button1_Click Metoda také aktualizuje řadu hodnot ImportCatalogPart vlastností ovládacího prvku.

V ovládacím prvku stránky WebPartZone jsou deklarovány dva vlastní WebPart ovládací prvky. Ovládací <aspSample:userinfowebpart> prvek má exportmode="all" atribut . Tento atribut je nutný k tomu, aby uživatelé mohli exportovat soubor popisu ovládacího prvku, který pak mohou importovat jiní uživatelé, kteří chtějí importovat ovládací prvek pomocí souboru popisu.

Poznámka

Chcete-li uživatelům aplikace webových částí povolit export souboru popisu ovládacích WebPart prvků, musíte také povolit funkci exportu ve webové aplikaci přidáním enableExport="true" atributu do elementu <webParts> (který je podřízený elementu <system.web> ) v souboru Web.config. Export je ve výchozím nastavení zakázaný, takže pokud jste export pro aplikaci ještě nepovolili, upravte soubor Web.config a proveďte to hned.

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

Třetí část příkladu kódu je zdrojový kód pro dva WebPart ovládací prvky. Všimněte si, že některé vlastnosti těchto ovládacích prvků jsou označené atributem WebBrowsable . To umožňuje ovládacímu prvku dynamicky PropertyGridEditorPart generovat uživatelské rozhraní (UI) pro uživatele k úpravám těchto vlastností, když jsou ovládací prvky v režimu úprav. Vlastnosti jsou také označené atributem WebDisplayName , který určuje text popisku, který se zobrazí vedle každého ovládacího prvku v uživatelském rozhraní pro úpravy. Aby se příklad kódu spustil, musíte tento zdrojový kód zkompilovat. Můžete ho explicitně zkompilovat a vložit výsledné sestavení do složky Bin webu nebo globální mezipaměti sestavení (GPA). Případně můžete zdrojový kód umístit do složky App_Code webu, kde se bude dynamicky kompilovat za běhu. Tento příklad kódu používá dynamickou kompilaci. Návod, který ukazuje obě metody kompilace, najdete v tématu Návod: Vývoj a použití vlastního ovládacího prvku webového serveru.

Na vlastní ovládací prvek s názvem TextDisplayWebPart se odkazuje na webové stránce s elementem <aspSample:TextDisplayWebPart> . Druhý ovládací prvek s názvem UserInfoWebPartje na webové stránce původně také deklarován, později ho ale odeberete, abyste ukázali možnost importovat soubor popisu ovládacího prvku.

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

Teď spusťte příklad kódu. Načtěte webovou stránku v prohlížeči. Prvním krokem je úprava UserInfoWebPart ovládacího prvku. Pomocí ovládacího prvku rozevíracího seznamu Režim zobrazení a výběrem možnosti Upravit přepněte stránku do režimu úprav. Klikněte na nabídku UserInfoWebPart sloves ovládacího prvku (v záhlaví je šipka dolů) a potom klikněte na Upravit. Když se zobrazí uživatelské rozhraní pro úpravy, zobrazí se pod UserInfoWebPart ním několik ovládacích prvků pro úpravy, které můžete použít k úpravě hodnot jeho polí. Upravte některá pole, klikněte na OK a potom pomocí rozevíracího seznamu Režim zobrazení vraťte stránku do režimu procházení.

Druhým krokem je export objektu . Soubor popisu webové části pro ovládací UserInfoWebPart prvek. Klikněte na nabídku sloves ve vlastním ovládacím prvku (v záhlaví je znázorněná šipkou dolů) a klikněte na Exportovat. Postupujte podle pokynů a uložte soubor . Soubor popisu webové části pro ovládací prvek. Teď zavřete webovou stránku a upravte zdroj stránky v editoru. <aspSample:userinfowebpart> Odstraňte element deklarace ovládacího prvku a pak soubor uložte a zavřete. (Tento krok provádíte k simulaci uživatele, který ovládací prvek ještě UserInfoWebPart nemá, abyste mohli importovat ovládací prvek na stránku.)

Znovu načtěte webovou stránku v prohlížeči. Ovládací UserInfoWebPart prvek by se neměl zobrazit, protože jste ho odebrali. Pomocí ovládacího prvku rozevíracího seznamu Režim zobrazení a výběrem možnosti Katalog přepněte stránku do režimu katalogu. V ovládacím ImportCatalogPart prvku klikněte na tlačítko Procházet a přejděte na . Soubor webové části, který jste vytvořili, a potom klikněte na tlačítko Nahrát . Měl by se zobrazit odkaz na ovládací prvek se zaškrtávacím políček vedle něj. Zaškrtněte políčko a kliknutím na Přidat přidejte ovládací prvek na stránku.

V tomto zobrazení stránky klikněte na tlačítko Aktualizovat ImportCatalogPart v dolní části stránky, abyste viděli efekt programové aktualizace několika hodnot vlastností na ImportCatalogPart ovládacím prvku. Po kliknutí na tlačítko sledujte, jak se v uživatelském rozhraní mění různé vlastnosti.

Nakonec kliknutím na Zavřít ukončete režim katalogu a vraťte stránku do režimu procházení. Ovládací UserInfoWebPart prvek by se teď měl zobrazit na stránce a obsahovat hodnoty, které měl, když jste ho předtím exportovali.

Poznámky

Ovládací ImportCatalogPart prvek umožňuje uživatelům importovat soubor popisu, který popisuje nastavení WebPart ovládacího prvku nebo ovládacího prvku serveru, který chce uživatel přidat do WebPartZoneBase zóny.

Jakmile uživatel naimportuje soubor popisu, WebPart zobrazí se v rámci ImportCatalogPart ovládacího prvku ovládací prvek odkazovaný v souboru a uživatel může přidat ovládací prvek na stránku.

Soubor popisu není stejný jako samotný ovládací prvek. Jedná se o soubor XML, který končí řetězcem . Rozšíření WebPart a obsahuje páry název/hodnota , většinou hodnoty vlastností, které popisují stav ovládacího prvku. Soubor popisu je vytvořen v zadaném formátu XML, jak je popsáno v tématu Soubory popisu webových částí ovládacího prvku.

Pokud jde o ovládací prvek, na který odkazuje soubor popisu, může být buď zkompilován do sestavení, nebo to může být uživatelský ovládací prvek definovaný v souboru .ascx. V obou případech musí ovládací prvek odkazovaný v importovaném souboru popisu existovat na webovém serveru, který je hostitelem stránky, která se pokouší importovat ovládací prvek. Soubor popisu odkazuje na název ovládacího prvku a sestavení (nebo soubor), které obsahuje ovládací prvek, a soubor s popisem obsahuje nastavení, která ovlivňují hodnoty vlastností ovládacího prvku, jeho vzhled a chování.

Ovládací ImportCatalogPart prvek umožňuje uživatelům sdílet nastavení ovládacích prvků. Složitý ovládací prvek může mít mnoho vlastností a nastavení. Například na typickém intranetovém webu ve velké společnosti může vlastní WebPart ovládací prvek obsahovat řadu vlastností, které obsahují hodnoty specifické pro prostředí uživatelů, například připojení k databázi, informace o oddělení atd. Ovládací prvek může také obsahovat řadu vlastností, které mají vliv na jeho vzhled. Jeden uživatel by mohl přizpůsobit ovládací prvek na konkrétním webu a správně ho zpracovat, exportovat soubor s popisem ovládacího prvku a potom sdílet soubor s popisem s ostatními uživateli, kteří by mohli importovat soubor a přidat plně nakonfigurovaný ovládací prvek na jiné intranetové weby, které mohou přizpůsobit. Dokud kompilované sestavení nebo soubor uživatelského ovládacího prvku obsahující ovládací prvek existuje na webovém serveru, který je hostitelem jejich webu, mohou uživatelé přidat ovládací prvek na jiné weby.

Mechanismus, pomocí kterého uživatelé importují soubor popisu (a tedy jeho přidružený serverový ovládací prvek) na webovou stránku, je ImportCatalogPart ovládací prvek, který musí vývojář stránky přidat na webovou stránku. Když uživatel přepne stránku do režimu zobrazení katalogu, ImportCatalogPart zobrazí se ovládací prvek a uživatel může pomocí tohoto ovládacího prvku přejít na . Soubor popisu webové části odpovídající ovládacímu prvku serveru, který chce importovat. V souladu s uživatelským rozhraním a pokyny, které ImportCatalogPart ovládací prvek poskytuje, může uživatel přidat požadovaný serverový ovládací prvek na webovou stránku s jeho vzhledem a vlastnostmi plně nakonfigurovanými tak, jak je uvedeno v importovaném souboru popisu.

Před importem WebPart souboru popisu ovládacího prvku musí uživatel nejprve vytvořit (exportovat) soubor založený na existujícím WebPart ovládacím prvku. Soubor popisu lze exportovat pro ovládací prvek, pokud jsou splněny následující podmínky:

  • Ovládací prvek má vlastnosti označené atributem Personalizable .

  • Soubor Web.config má hodnotu atributu enableExport nastavenou true na element .<webParts>

  • Vývojář nastaví hodnotu ExportMode vlastnosti ovládacího prvku na jinou hodnotu, než je výchozí hodnota None, která export zakáže. ExportMode Pokud je hodnota vlastnosti nastavena na NonSensitiveData, žádná vlastnost, která obsahuje IsSensitive parametr s atributemPersonalizable, se při exportu souboru popisu uživatelem neexportuje. To umožňuje vývojářům zabránit v exportu citlivých dat, jako jsou připojovací řetězce, v určitých situacích.

Uživatel může exportovat ovládací prvek, který je povolený pro export, kliknutím na příkaz exportu, který se zobrazí v nabídce sloves ovládacího prvku, a podle pokynů uložit . Soubor popisu webové části pro ovládací prvek. Ostatní uživatelé pak můžou tento soubor importovat a nakonfigurovat vlastní instance ovládacího prvku.

Třída ImportCatalogPart obsahuje několik vlastností. Vlastnost BrowseHelpText obsahuje text s pokyny pro uživatele, kteří hledají soubor s popisem. Vlastnost ImportedPartLabelText obsahuje text, který slouží jako popisek importovaného ovládacího prvku, jak se zobrazuje v ovládacím ImportCatalogPart prvku. Obsahuje PartImportErrorLabelText text, který se zobrazí, pokud při importu popisu ovládacího prvku dojde k chybě. Vlastnost Title přepíše základní vlastnost a přiřadí ovládacímu ImportCatalogPart prvku výchozí název, pokud vývojář nepřiřadí název. Vlastnost UploadButtonText obsahuje text tlačítka, na které uživatel klikne, aby nahrál soubor popisu, a UploadHelpText vlastnost obsahuje pokyny pro proces nahrávání.

Třída ImportCatalogPart také obsahuje několik jedinečných metod. Metoda GetAvailableWebPartDescriptions načte WebPartDescription objekt pro každý WebPart ovládací prvek v katalogu, což umožňuje ovládacímu ImportCatalogPart prvku zobrazit informace o každém serverovém ovládacím prvku, aniž by bylo nutné vytvořit jeho instanci. Metoda GetWebPart získá instanci určitého WebPart ovládacího prvku na základě popisu předaného metodě.

S používáním ImportCatalogPart ovládacího prvku jsou spojená určitá rizika. Jedním z příkladů je možnost importu škodlivých dat do webové aplikace prostřednictvím souborů popisu, které se používají k importu. Pokud někdo umístil škodlivý kód skriptu jako hodnotu vlastnosti řetězce do souboru popisu, pak tento skript může být potenciálně spuštěn, když uživatel importuje soubor popisu a přidá odkazovaný serverový ovládací prvek na webovou stránku. Aby se minimalizovalo riziko importu souborů s popisem se škodlivými daty, měly by serverové ovládací prvky s řetězcovými vlastnostmi vždy kódovat data vlastností. Dalším rizikem je import typů prostřednictvím souborů popisu (viz Soubory s popisem ovládacích prvků webových částí). Uživatel se zlými úmysly může odesílat požadavky na načtení mnoha sestavení do objektu AppDomain, což vede k nadměrnému využití paměti.

Abyste se vyhnuli rizikům spojeným s importem, můžete funkci úplně zakázat tak, že funkci importu nebo ImportCatalogPart ovládací prvek nebudete používat. Nebo můžete omezit, kteří uživatelé mají k ovládacímu prvku přístup. Můžete to udělat programově pomocí správy rolí (viz Správa autorizace pomocí rolí). Když se stránka načte, můžete například otestovat, jestli má uživatel určitou roli, například roli správce. Pokud je uživatel v roli, můžete tento ovládací prvek přidat ImportCatalogPart na stránku pro daného uživatele prostřednictvím kódu programu. Můžete také použít deklarativní přístup k omezení skupiny uživatelů, kteří můžou ovládací prvek používat ImportCatalogPart . Na webové stránce, která obsahuje katalog, můžete umístit dva CatalogZone ovládací prvky: jeden pro uživatele, kteří můžou importovat, a druhý pro uživatele, kteří nemůžou. Zóna pro uživatele, kteří můžou importovat, by obsahovala ImportCatalogPart ovládací prvek . Samotná zóna může být umístěna uvnitř LoginView ovládacího prvku, což by vám umožnilo omezit použití ovládacího prvku v zóně pouze na ověřené uživatele nebo role, které zadáte.

Konstruktory

ImportCatalogPart()

Inicializuje novou instanci ImportCatalogPart třídy .

Vlastnosti

AccessKey

Získá nebo nastaví přístupový klíč, který umožňuje rychle přejít na ovládací prvek webového serveru.

(Zděděno od WebControl)
Adapter

Získá adaptér specifický pro prohlížeč pro ovládací prvek.

(Zděděno od Control)
AppRelativeTemplateSourceDirectory

Získá nebo nastaví aplikace relativní virtuální adresář nebo UserControl objektuPage, který obsahuje tento ovládací prvek.

(Zděděno od Control)
Attributes

Získá kolekci libovolných atributů (pouze pro vykreslování), které neodpovídají vlastnostem ovládacího prvku.

(Zděděno od WebControl)
BackColor

Získá nebo nastaví barvu pozadí ovládacího prvku webového serveru.

(Zděděno od WebControl)
BackImageUrl

Získá nebo nastaví adresu URL obrázku pozadí pro ovládací prvek panelu.

(Zděděno od Panel)
BindingContainer

Získá ovládací prvek, který obsahuje datové vazby tohoto ovládacího prvku.

(Zděděno od Control)
BorderColor

Získá nebo nastaví barvu ohraničení webového ovládacího prvku.

(Zděděno od WebControl)
BorderStyle

Získá nebo nastaví styl ohraničení ovládacího prvku webového serveru.

(Zděděno od WebControl)
BorderWidth

Získá nebo nastaví šířku ohraničení ovládacího prvku webového serveru.

(Zděděno od WebControl)
BrowseHelpText

Získá nebo nastaví textovou zprávu, která dává pokyn uživatelům přejít do umístění souboru popisu.

ChildControlsCreated

Získá hodnotu, která označuje, zda byly vytvořeny podřízené ovládací prvky ovládacího prvku serveru.

(Zděděno od Control)
ChromeState

Získá nebo nastaví, zda je ovládací prvek součásti v minimalizovaném nebo normálním stavu.

(Zděděno od Part)
ChromeType

Získá nebo nastaví typ ohraničení, které rámuje webové části ovládacího prvku.

(Zděděno od Part)
ClientID

Získá ID ovládacího prvku pro kód HTML, který je generován ASP.NET.

(Zděděno od Control)
ClientIDMode

Získá nebo nastaví algoritmus, který se používá k vygenerování hodnoty ClientID vlastnosti.

(Zděděno od Control)
ClientIDSeparator

Získá hodnotu znaku představující znak oddělovače použitý ve ClientID vlastnosti.

(Zděděno od Control)
Context

HttpContext Získá objekt přidružený k ovládacímu prvku serveru pro aktuální webový požadavek.

(Zděděno od Control)
Controls

ControlCollection Získá objekt, který obsahuje podřízené ovládací prvky pro zadaný serverový ovládací prvek v hierarchii uživatelského rozhraní.

(Zděděno od Part)
ControlStyle

Získá styl ovládacího prvku webového serveru. Tuto vlastnost používají primárně vývojáři ovládacích prvků.

(Zděděno od WebControl)
ControlStyleCreated

Získá hodnotu označující, zda Style objekt byl vytvořen pro ControlStyle vlastnost. Tuto vlastnost primárně používají vývojáři ovládacích prvků.

(Zděděno od WebControl)
CssClass

Získá nebo nastaví kaskádové šablony stylů (CSS) třídy vykreslené ovládacím prvkem webového serveru v klientovi.

(Zděděno od WebControl)
DataItemContainer

Získá odkaz na názvový kontejner, pokud názvový kontejner implementuje IDataItemContainer.

(Zděděno od Control)
DataKeysContainer

Získá odkaz na názvový kontejner, pokud názvový kontejner implementuje IDataKeysControl.

(Zděděno od Control)
DefaultButton

Získá nebo nastaví, které tlačítko v uživatelském rozhraní (UI) je považováno za výchozí tlačítko, které obdrží fokus při vykreslení formuláře, který obsahuje tlačítko. Tato vlastnost není určena k zavolání z kódu vývojáře stránky.

Description

Získá nebo nastaví stručnou frázi, která shrnuje, co ovládací prvek součásti dělá, pro použití v popisech a katalogech ovládacích prvků součástí.

(Zděděno od Part)
DesignMode

Získá hodnotu označující, zda je ovládací prvek použit na návrhové ploše.

(Zděděno od Control)
Direction

Získá nebo nastaví směr zobrazení ovládacích prvků, které obsahují text v ovládacím prvku Panel .

(Zděděno od Panel)
DisplayTitle

Získá řetězec, který obsahuje skutečný aktuální název CatalogPart ovládacího prvku.

(Zděděno od CatalogPart)
Enabled

Získá nebo nastaví hodnotu označující, zda je povolen ovládací prvek webového serveru.

(Zděděno od WebControl)
EnableTheming

Získá nebo nastaví hodnotu označující, zda motivy použít pro tento ovládací prvek.

(Zděděno od WebControl)
EnableViewState

Získá nebo nastaví hodnotu určující, zda serverový ovládací prvek zachová svůj stav zobrazení a stav zobrazení všech podřízených ovládacích prvků, které obsahuje, pro žádajícího klienta.

(Zděděno od Control)
Events

Získá seznam delegátů obslužné rutiny události pro ovládací prvek. Tato vlastnost je jen ke čtení.

(Zděděno od Control)
Font

Získá vlastnosti písma přidružené k ovládacímu prvku webového serveru.

(Zděděno od WebControl)
ForeColor

Získá nebo nastaví barvu popředí (obvykle barvu textu) ovládacího prvku webového serveru.

(Zděděno od WebControl)
GroupingText

Získá nebo nastaví titulek pro skupinu ovládacích prvků obsažených v ovládacím prvku panelu.

(Zděděno od Panel)
HasAttributes

Získá hodnotu označující, zda ovládací prvek má nastaveny atributy.

(Zděděno od WebControl)
HasChildViewState

Získá hodnotu označující, zda podřízené ovládací prvky aktuálního serveru mají uložené nastavení stavu zobrazení.

(Zděděno od Control)
Height

Získá nebo nastaví výšku ovládacího prvku webového serveru.

(Zděděno od WebControl)
HorizontalAlign

Získá nebo nastaví vodorovné zarovnání obsahu v rámci panelu.

(Zděděno od Panel)
ID

Získá nebo nastaví programový identifikátor přiřazený k ovládacímu prvku serveru.

(Zděděno od Control)
IdSeparator

Získá znak použitý k oddělení identifikátorů ovládacích prvků.

(Zděděno od Control)
ImportedPartLabelText

Získá nebo nastaví text zobrazený poté, co uživatel importuje soubor popisu, který představuje nebo popisuje importovaný ovládací prvek v katalogu importovaných ovládacích prvků.

IsChildControlStateCleared

Získá hodnotu označující, zda ovládací prvky obsažené v tomto ovládacím prvku mají stav řízení.

(Zděděno od Control)
IsEnabled

Získá hodnotu označující, zda je povolen ovládací prvek.

(Zděděno od WebControl)
IsTrackingViewState

Získá hodnotu, která označuje, zda serverový ovládací prvek ukládá změny do stavu zobrazení.

(Zděděno od Control)
IsViewStateEnabled

Získá hodnotu označující, zda je pro tento ovládací prvek povolen stav zobrazení.

(Zděděno od Control)
LoadViewStateByID

Získá hodnotu označující, zda se ovládací prvek účastní načítání stavu ID zobrazení místo indexu.

(Zděděno od Control)
NamingContainer

Získá odkaz na názvový kontejner ovládacího prvku serveru, který vytvoří jedinečný obor názvů pro rozdíl mezi serverovými ovládacími prvky se stejnou ID hodnotou vlastnosti.

(Zděděno od Control)
Page

Získá odkaz na Page instanci, která obsahuje serverový ovládací prvek.

(Zděděno od Control)
Parent

Získá odkaz na serverový ovládací prvek nadřazený ovládací prvek v hierarchii ovládacích prvků stránky.

(Zděděno od Control)
PartImportErrorLabelText

Získá nebo nastaví chybovou zprávu, která se zobrazí, pokud dojde k chybě během procesu importu.

RenderingCompatibility

Získá hodnotu, která určuje ASP.NET verze, která vykreslí HTML bude kompatibilní s.

(Zděděno od Control)
ScrollBars

Získá nebo nastaví viditelnost a umístění posuvníků v ovládacím prvku Panel .

(Zděděno od Panel)
Site

Získá informace o kontejneru, který je hostitelem aktuálního ovládacího prvku při vykreslení na návrhové ploše.

(Zděděno od Control)
SkinID

Získá nebo nastaví vzhled pro použití ovládacího prvku.

(Zděděno od WebControl)
Style

Získá kolekci textových atributů, které budou vykresleny jako atribut stylu na vnější značku webového serveru ovládacího prvku.

(Zděděno od WebControl)
SupportsDisabledAttribute

Získá hodnotu, která označuje, zda má ovládací prvek nastavit disabled atribut vykresleného elementu HTML na "zakázáno", pokud je vlastnost ovládacího prvku IsEnabled je false.

(Zděděno od Panel)
TabIndex

Získá nebo nastaví index tabulátoru ovládacího prvku webového serveru.

(Zděděno od WebControl)
TagKey

HtmlTextWriterTag Získá hodnotu, která odpovídá ovládacího prvku webového serveru. Tuto vlastnost používají primárně vývojáři ovládacích prvků.

(Zděděno od WebControl)
TagName

Získá název značky ovládacího prvku. Tuto vlastnost používají primárně vývojáři ovládacích prvků.

(Zděděno od WebControl)
TemplateControl

Získá nebo nastaví odkaz na šablonu, která obsahuje tento ovládací prvek.

(Zděděno od Control)
TemplateSourceDirectory

Získá virtuální adresář Page nebo UserControl , který obsahuje aktuální serverový ovládací prvek.

(Zděděno od Control)
Title

Získá nebo nastaví název, který se zobrazí v záhlaví ovládacího prvku ImportCatalogPart .

ToolTip

Získá nebo nastaví text zobrazený, když ukazatel myši najede na ovládací prvek webového serveru.

(Zděděno od WebControl)
UniqueID

Získá jedinečný hierarchicky kvalifikovaný identifikátor serverového ovládacího prvku.

(Zděděno od Control)
UploadButtonText

Získá nebo nastaví text pro Button ovládací prvek, který iniciuje nahrávání souboru popisu.

UploadHelpText

Získá nebo nastaví text zprávy, která říká uživateli, jak nahrát soubor popisu.

ValidateRequestMode

Získá nebo nastaví hodnotu, která označuje, zda ovládací prvek kontroluje vstup klienta z prohlížeče pro potenciálně nebezpečné hodnoty.

(Zděděno od Control)
ViewState

Získá slovník informací o stavu, který umožňuje uložit a obnovit stav zobrazení serverového ovládacího prvku napříč více požadavky na stejnou stránku.

(Zděděno od Control)
ViewStateIgnoresCase

Získá hodnotu, která označuje, zda StateBag objekt nerozlišuje malá a velká písmena.

(Zděděno od Control)
ViewStateMode

Získá nebo nastaví režim zobrazení stavu tohoto ovládacího prvku.

(Zděděno od Control)
Visible

Získá nebo nastaví hodnotu, která označuje, zda je serverový ovládací prvek vykreslen jako uživatelské rozhraní na stránce.

(Zděděno od Control)
WebPartManager

Získá odkaz na aktuální instanci WebPartManager třídy.

(Zděděno od CatalogPart)
Width

Získá nebo nastaví šířku ovládacího prvku webového serveru.

(Zděděno od WebControl)
Wrap

Získá nebo nastaví hodnotu označující, zda se obsah zalomí v rámci panelu.

(Zděděno od Panel)
Zone

Získá odkaz na zónu CatalogZoneBase , která obsahuje ovládací prvek CatalogPart .

(Zděděno od CatalogPart)

Metody

AddAttributesToRender(HtmlTextWriter)

Přidá informace o obrázku pozadí, zarovnání, obtékání a směru do seznamu atributů, které se mají vykreslit.

(Zděděno od Panel)
AddedControl(Control, Int32)

Volá se po přidání podřízeného ovládacího prvku do Controls kolekce objektu Control .

(Zděděno od Control)
AddParsedSubObject(Object)

Upozorní ovládací prvek serveru, že byl analyzován prvek XML nebo HTML, a přidá element do objektu ovládacího prvku ControlCollection serveru.

(Zděděno od Control)
ApplyStyle(Style)

Zkopíruje všechny neprázdné prvky zadaného stylu do webového ovládacího prvku a přepíše všechny existující prvky stylu ovládacího prvku. Tuto metodu primárně používají vývojáři ovládacích prvků.

(Zděděno od WebControl)
ApplyStyleSheetSkin(Page)

Použije vlastnosti stylu definované v šabloně stylů stránky na ovládací prvek.

(Zděděno od Control)
BeginRenderTracing(TextWriter, Object)

Zahájí trasování vykreslování dat v době návrhu.

(Zděděno od Control)
BuildProfileTree(String, Boolean)

Shromáždí informace o ovládacím prvku serveru a doručí je do Trace vlastnosti, která se má zobrazit, když je pro stránku povolené trasování.

(Zděděno od Control)
ClearCachedClientID()

Nastaví hodnotu v ClientID mezipaměti na null.

(Zděděno od Control)
ClearChildControlState()

Odstraní informace o stavu řízení pro podřízené ovládací prvky serveru.

(Zděděno od Control)
ClearChildState()

Odstraní informace o stavu zobrazení a stavu řízení pro všechny podřízené ovládací prvky serveru.

(Zděděno od Control)
ClearChildViewState()

Odstraní informace o stavu zobrazení všech podřízených ovládacích prvků serveru.

(Zděděno od Control)
ClearEffectiveClientIDMode()

ClientIDMode Nastaví vlastnost aktuální instance ovládacího prvku a všech podřízených ovládacích prvků na Inherit.

(Zděděno od Control)
CopyBaseAttributes(WebControl)

Zkopíruje vlastnosti neza zapouzdřené objektem Style ze zadaného ovládacího prvku webového serveru do ovládacího prvku webového serveru, ze kterého je volána tato metoda. Tuto metodu používají především vývojáři ovládacích prvků.

(Zděděno od WebControl)
CreateChildControls()

Volá se rozhraním ASP.NET stránky, aby upozornily ovládací prvky serveru, které používají implementaci založenou na složení k vytvoření všech podřízených ovládacích prvků, které obsahují při přípravě na publikování zpět nebo vykreslování.

(Zděděno od Control)
CreateControlCollection()

Vytvoří nový ControlCollection objekt, který bude obsahovat podřízené ovládací prvky (literál i server) serverového ovládacího prvku.

(Zděděno od Control)
CreateControlStyle()

Vytvoří objekt stylu, který se používá interně ovládacím prvku k implementaci všech vlastností souvisejících se stylem Panel .

(Zděděno od Panel)
DataBind()

Vytvoří vazbu zdroje dat na vyvolaný serverový ovládací prvek a všechny jeho podřízené ovládací prvky.

(Zděděno od Part)
DataBind(Boolean)

Vytvoří vazbu zdroje dat na vyvoláný serverový ovládací prvek a všechny jeho podřízené ovládací prvky s možností vyvolat DataBinding událost.

(Zděděno od Control)
DataBindChildren()

Sváže zdroj dat s podřízenými ovládacími prvky serverového ovládacího prvku.

(Zděděno od Control)
Dispose()

Umožňuje ovládacímu prvku serveru provést konečné vyčištění před uvolněním z paměti.

(Zděděno od Control)
EndRenderTracing(TextWriter, Object)

Ukončí trasování vykreslovaných dat v době návrhu.

(Zděděno od Control)
EnsureChildControls()

Určuje, zda serverový ovládací prvek obsahuje podřízené ovládací prvky. Pokud ne, vytvoří podřízené ovládací prvky.

(Zděděno od Control)
EnsureID()

Vytvoří identifikátor ovládacích prvků, které nemají přiřazený identifikátor.

(Zděděno od Control)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FindControl(String)

Vyhledá v aktuálním kontejneru pojmenování serverový ovládací prvek pomocí zadaného id parametru.

(Zděděno od Control)
FindControl(String, Int32)

Vyhledá v aktuálním kontejneru pojmenování serverový ovládací prvek se zadaným id a celočíselným číslem zadaným v parametru pathOffset , který pomáhá při hledání. Tuto verzi metody byste neměli FindControl přepsat.

(Zděděno od Control)
Focus()

Nastaví fokus vstupu na ovládací prvek.

(Zděděno od Control)
GetAvailableWebPartDescriptions()

Vrátí kolekci popisů dostupných WebPart ovládacích prvků v katalogu.

GetDesignModeState()

Načte aktuální stav nadřazené CatalogPart zóny ovládacího prvku.

(Zděděno od CatalogPart)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetRouteUrl(Object)

Získá adresu URL, která odpovídá sadě parametrů trasy.

(Zděděno od Control)
GetRouteUrl(RouteValueDictionary)

Získá adresu URL, která odpovídá sadě parametrů trasy.

(Zděděno od Control)
GetRouteUrl(String, Object)

Získá adresu URL, která odpovídá sadě parametrů trasy a název trasy.

(Zděděno od Control)
GetRouteUrl(String, RouteValueDictionary)

Získá adresu URL, která odpovídá sadě parametrů trasy a název trasy.

(Zděděno od Control)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
GetUniqueIDRelativeTo(Control)

Vrátí předponu vlastnosti UniqueID zadaného ovládacího prvku.

(Zděděno od Control)
GetWebPart(WebPartDescription)

Vrátí odkaz na WebPart ovládací prvek na základě hodnot v popisu předaném metodě.

HasControls()

Určuje, jestli serverový ovládací prvek obsahuje nějaké podřízené ovládací prvky.

(Zděděno od Control)
HasEvents()

Vrátí hodnotu označující, zda jsou události registrovány pro ovládací prvek nebo jakékoli podřízené ovládací prvky.

(Zděděno od Control)
IsLiteralContent()

Určuje, jestli serverový ovládací prvek obsahuje pouze obsah literálu.

(Zděděno od Control)
LoadControlState(Object)

Obnoví informace o stavu řízení z předchozího požadavku stránky, který byl uložen metodou SaveControlState() .

(Zděděno od Control)
LoadViewState(Object)

Obnoví informace o stavu zobrazení z předchozího požadavku, který byl uložen s metodou SaveViewState() .

(Zděděno od WebControl)
MapPathSecure(String)

Načte fyzickou cestu, na kterou se mapuje virtuální cesta, absolutní nebo relativní.

(Zděděno od Control)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MergeStyle(Style)

Zkopíruje všechny neprázdné prvky zadaného stylu do webového ovládacího prvku, ale nepřepíše žádné existující prvky stylu ovládacího prvku. Tuto metodu používají především vývojáři ovládacích prvků.

(Zděděno od WebControl)
OnBubbleEvent(Object, EventArgs)

Určuje, zda je událost serverového ovládacího prvku předána hierarchii ovládacích prvků serveru uživatelského rozhraní stránky.

(Zděděno od Control)
OnDataBinding(EventArgs)

DataBinding Vyvolá událost.

(Zděděno od Control)
OnInit(EventArgs)

Init Vyvolá událost.

(Zděděno od Control)
OnLoad(EventArgs)

Load Vyvolá událost.

(Zděděno od Control)
OnPreRender(EventArgs)

PreRender Vyvolá událost.

(Zděděno od CatalogPart)
OnUnload(EventArgs)

Unload Vyvolá událost.

(Zděděno od Control)
OpenFile(String)

Stream Získá zvyk ke čtení souboru.

(Zděděno od Control)
RaiseBubbleEvent(Object, EventArgs)

Přiřadí všechny zdroje události a její informace nadřazené ovládacímu prvku.

(Zděděno od Control)
RemovedControl(Control)

Volá se po odebrání podřízeného ovládacího prvku z Controls kolekce objektu Control .

(Zděděno od Control)
Render(HtmlTextWriter)

Vykreslí ovládací prvek určenému zapisovači HTML.

(Zděděno od WebControl)
RenderBeginTag(HtmlTextWriter)

Vykreslí levou značku Panel HTML ovládacího prvku určenému zapisovači.

(Zděděno od Panel)
RenderChildren(HtmlTextWriter)

Vypíše obsah podřízených položek serverového ovládacího prvku do zadaného HtmlTextWriter objektu, který zapíše obsah, který se má vykreslit v klientovi.

(Zděděno od Control)
RenderContents(HtmlTextWriter)

Vykreslí obsah ovládacího prvku určenému zapisovači. Tuto metodu používají především vývojáři ovládacích prvků.

(Zděděno od WebControl)
RenderControl(HtmlTextWriter)

Vypíše obsah ovládacích prvků serveru do zadaného HtmlTextWriter objektu a uloží informace o trasování ovládacího prvku, pokud je trasování povolené.

(Zděděno od Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Vypíše obsah ovládacích prvků serveru do zadaného HtmlTextWriter objektu pomocí zadaného ControlAdapter objektu.

(Zděděno od Control)
RenderEndTag(HtmlTextWriter)

Vykreslí koncovou značku Panel HTML ovládacího prvku do zadaného zapisovače.

(Zděděno od Panel)
ResolveAdapter()

Získá řídicí adaptér zodpovědný za vykreslení zadaného ovládacího prvku.

(Zděděno od Control)
ResolveClientUrl(String)

Získá adresu URL, kterou lze použít v prohlížeči.

(Zděděno od Control)
ResolveUrl(String)

Převede adresu URL na adresu URL, která je použitelná v žádajícím klientovi.

(Zděděno od Control)
SaveControlState()

Uloží všechny změny stavu ovládacího prvku serveru, ke kterým došlo od okamžiku, kdy byla stránka odeslána zpět na server.

(Zděděno od Control)
SaveViewState()

Uloží všechny stavy, které byly změněny po vyvolání TrackViewState() metody.

(Zděděno od WebControl)
SetDesignModeState(IDictionary)

Nastaví data v době návrhu ovládacího prvku.

(Zděděno od CatalogPart)
SetRenderMethodDelegate(RenderMethod)

Přiřadí delegáta obslužné rutiny události, který vykresluje serverový ovládací prvek a jeho obsah do nadřazeného ovládacího prvku.

(Zděděno od Control)
SetTraceData(Object, Object)

Nastaví trasovací data pro trasování vykreslovaných dat v době návrhu pomocí klíče dat trasování a hodnoty dat trasování.

(Zděděno od Control)
SetTraceData(Object, Object, Object)

Nastaví trasovací data pro trasování vykreslování dat v době návrhu pomocí trasovaného objektu, klíče dat trasování a hodnoty dat trasování.

(Zděděno od Control)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TrackViewState()

Způsobí, že ovládací prvek sleduje změny stavu zobrazení, aby mohly být uloženy ve vlastnosti objektu ViewState .

(Zděděno od WebControl)

Událost

DataBinding

Nastane, když ovládací prvek serveru vytvoří vazbu na zdroj dat.

(Zděděno od Control)
Disposed

Nastane při uvolnění serverového ovládacího prvku z paměti, což je poslední fáze životního cyklu řízení serveru, když je požadována stránka ASP.NET.

(Zděděno od Control)
Init

Nastane při inicializaci ovládacího prvku serveru, což je první krok v jeho životním cyklu.

(Zděděno od Control)
Load

Nastane při načtení serverového ovládacího prvku do objektu Page .

(Zděděno od Control)
PreRender

Nastane po načtení objektu Control , ale před vykreslením.

(Zděděno od Control)
Unload

Vyvolá se při uvolnění serverového ovládacího prvku z paměti.

(Zděděno od Control)

Explicitní implementace rozhraní

IAttributeAccessor.GetAttribute(String)

Získá atribut webového ovládacího prvku se zadaným názvem.

(Zděděno od WebControl)
IAttributeAccessor.SetAttribute(String, String)

Nastaví atribut webového ovládacího prvku na zadaný název a hodnotu.

(Zděděno od WebControl)
ICompositeControlDesignerAccessor.RecreateChildControls()

Umožňuje vývojáři návrháře pro ovládací prvek složené části znovu vytvořit podřízené ovládací prvky ovládacího prvku na návrhové ploše.

(Zděděno od Part)
IControlBuilderAccessor.ControlBuilder

Popis tohoto člena najdete v tématu ControlBuilder.

(Zděděno od Control)
IControlDesignerAccessor.GetDesignModeState()

Popis tohoto člena najdete v tématu GetDesignModeState().

(Zděděno od Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Popis tohoto člena najdete v tématu SetDesignModeState(IDictionary).

(Zděděno od Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Popis tohoto člena najdete v tématu SetOwnerControl(Control).

(Zděděno od Control)
IControlDesignerAccessor.UserData

Popis tohoto člena najdete v tématu UserData.

(Zděděno od Control)
IDataBindingsAccessor.DataBindings

Popis tohoto člena najdete v tématu DataBindings.

(Zděděno od Control)
IDataBindingsAccessor.HasDataBindings

Popis tohoto člena najdete v tématu HasDataBindings.

(Zděděno od Control)
IExpressionsAccessor.Expressions

Popis tohoto člena najdete v tématu Expressions.

(Zděděno od Control)
IExpressionsAccessor.HasExpressions

Popis tohoto člena najdete v tématu HasExpressions.

(Zděděno od Control)
IParserAccessor.AddParsedSubObject(Object)

Popis tohoto člena najdete v tématu AddParsedSubObject(Object).

(Zděděno od Control)

Metody rozšíření

FindDataSourceControl(Control)

Vrátí zdroj dat přidružený k ovládacímu prvku dat pro zadaný ovládací prvek.

FindFieldTemplate(Control, String)

Vrátí šablonu pole pro zadaný sloupec v kontejneru názvů zadaného ovládacího prvku.

FindMetaTable(Control)

Vrátí objekt metatable pro ovládací prvek obsahující data.

GetDefaultValues(INamingContainer)

Získá kolekci výchozích hodnot pro zadaný datový ovládací prvek.

GetMetaTable(INamingContainer)

Získá metadata tabulky pro zadaný datový ovládací prvek.

SetMetaTable(INamingContainer, MetaTable)

Nastaví metadata tabulky pro zadaný ovládací prvek dat.

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

Nastaví metadata tabulky a mapování výchozích hodnot pro zadaný ovládací prvek dat.

SetMetaTable(INamingContainer, MetaTable, Object)

Nastaví metadata tabulky a mapování výchozích hodnot pro zadaný ovládací prvek dat.

TryGetMetaTable(INamingContainer, MetaTable)

Určuje, jestli jsou k dispozici metadata tabulky.

EnableDynamicData(INamingContainer, Type)

Umožňuje dynamické chování dat pro zadaný datový ovládací prvek.

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

Umožňuje dynamické chování dat pro zadaný datový ovládací prvek.

EnableDynamicData(INamingContainer, Type, Object)

Umožňuje dynamické chování dat pro zadaný datový ovládací prvek.

Platí pro

Viz také