ImportCatalogPart Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 měnit režimy zobrazení na stránce webových částí.
Webová stránka, která obsahuje ovládací prvek CatalogZone a ovládací prvek ImportCatalogPart .
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 mě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=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
' Use a field to reference the current WebPartManager.
Dim _manager As WebPartManager
Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
AddHandler Page.InitComplete, AddressOf InitComplete
End Sub
Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
_manager = WebPartManager.GetCurrentWebPartManager(Page)
Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
' Fill the dropdown with the names of supported display modes.
Dim mode As WebPartDisplayMode
For Each mode In _manager.SupportedDisplayModes
Dim modeName As String = mode.Name
' Make sure a mode is enabled before adding it.
If mode.IsEnabled(_manager) Then
Dim item As New ListItem(modeName, modeName)
DisplayModeDropdown.Items.Add(item)
End If
Next mode
' If shared scope is allowed for this user, display the scope-switching
' UI and select the appropriate radio button for the current user scope.
If _manager.Personalization.CanEnterSharedScope Then
Panel2.Visible = True
If _manager.Personalization.Scope = PersonalizationScope.User Then
RadioButton1.Checked = True
Else
RadioButton2.Checked = True
End If
End If
End Sub
' Change the page to the selected display mode.
Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs)
Dim selectedMode As String = DisplayModeDropdown.SelectedValue
Dim mode As WebPartDisplayMode = _
_manager.SupportedDisplayModes(selectedMode)
If Not (mode Is Nothing) Then
_manager.DisplayMode = mode
End If
End Sub
' Set the selected item equal to the current display mode.
Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
Dim items As ListItemCollection = DisplayModeDropdown.Items
Dim selectedIndex As Integer = _
items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
DisplayModeDropdown.SelectedIndex = selectedIndex
End Sub
' Reset all of a user's personalization data for the page.
Protected Sub LinkButton1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
_manager.Personalization.ResetPersonalizationState()
End Sub
' If not in User personalization scope, toggle into it.
Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.Scope = PersonalizationScope.Shared Then
_manager.Personalization.ToggleScope()
End If
End Sub
' If not in Shared scope, and if user is allowed, toggle the scope.
Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.CanEnterSharedScope AndAlso _
_manager.Personalization.Scope = PersonalizationScope.User Then
_manager.Personalization.ToggleScope()
End If
End Sub
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
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 zkompilovanou 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ě k 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ý <system.web>
prvek) 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 udělejte to teď.
<%@ 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 oba WebPart ovládací prvky. Všimněte si, že některé vlastnosti těchto ovládacích prvků jsou označeny atributem WebBrowsable
. To umožňuje ovládacímu PropertyGridEditorPart prvku dynamicky generovat uživatelské rozhraní pro uživatele, aby mohl tyto vlastnosti upravovat, když jsou ovládací prvky v režimu úprav. Vlastnosti jsou také označeny 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 umístit výsledné sestavení do složky Bin webu nebo globální mezipaměti sestavení . 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 je TextDisplayWebPart
odkazován na webové stránce pomocí elementu <aspSample:TextDisplayWebPart>
. Druhý ovládací prvek, s názvem UserInfoWebPart
, je také deklarován na webové stránce zpočátku, i když ho později odeberete, abyste prokázali možnost importu souboru s popisem 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 (šipka dolů v záhlaví) 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 UserInfoWebPart
popisu webové části ovládacího prvku. Klikněte na nabídku sloves ve vlastním ovládacím prvku (reprezentované šipkou dolů v záhlaví) a klikněte na Exportovat. Postupujte podle pokynů k uložení . Soubor popisu webové části ovládacího prvku. 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.
Když jste v tomto zobrazení stránky, klikněte na tlačítko Aktualizovat ImportCatalogPart v dolní části stránky, abyste viděli efekt programové aktualizace počtu hodnot vlastností na ovládacím ImportCatalogPart 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 při exportu dříve.
Poznámky
Ovládací ImportCatalogPart prvek umožňuje uživatelům importovat soubor s popisem, který popisuje nastavení WebPart ovládacího prvku nebo serveru, který chce uživatel přidat do WebPartZoneBase zóny.
Jakmile uživatel naimportuje soubor s popisem, 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čí na . Rozšíření WebPart a obsahuje páry název/hodnota , většinou hodnoty vlastností, které popisují stav ovládacího prvku. Soubor s popisem je vytvořen v zadaném formátu XML, jak je popsáno v tématu Soubory popisu ovládacího prvku webových částí.
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) obsahující 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 jejich databázová připojení, informace o oddělení atd. Ovládací prvek může také obsahovat řadu vlastností, které ovlivňují jeho vzhled. Jeden uživatel může ovládací prvek přizpůsobit na konkrétním webu a správně ho zpracovat, exportovat soubor s popisem ovládacího prvku a pak soubor s popisem sdílet 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. Pokud 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, podle 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 poskytnutými ovládacím ImportCatalogPart prvku 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 souboru s popisem WebPart ovládacího prvku musí uživatel nejprve vytvořit (exportovat) soubor na základě existujícího WebPart ovládacího 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
nastavenoutrue
na element.<webParts>
Vývojář nastaví hodnotu ExportMode vlastnosti ovládacího prvku na jinou hodnotu, než je výchozí hodnota None, která zakazuje export. ExportMode Pokud je hodnota vlastnosti nastavena na NonSensitiveData, žádná vlastnost, která obsahuje IsSensitive parametr s atributem
Personalizable
, se při exportu souboru popisu uživatelem neexportuje. To umožňuje vývojářům řízení 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ý byl povolen pro export, kliknutím na příkaz exportovat, který se zobrazí v nabídce sloves ovládacího prvku, a podle pokynů uložit příkaz . Soubor popisu webové části ovládacího prvku. Ostatní uživatelé pak můžou tento soubor importovat a nakonfigurovat tak vlastní instance ovládacího prvku.
Třída ImportCatalogPart obsahuje několik vlastností. Vlastnost BrowseHelpText obsahuje text s pokyny pro uživatele při procházení a vyhledání souboru s popisem. Vlastnost ImportedPartLabelText obsahuje text, který slouží jako popisek importovaného ovládacího prvku, jak se zobrazí v ovládacím ImportCatalogPart prvku. Obsahuje PartImportErrorLabelText text, který se zobrazí, pokud dojde k chybě při importu popisu ovládacího prvku. Vlastnost Title přepíše základní vlastnost pro přiřazení výchozího názvu pro ovládací prvek ImportCatalogPart , 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á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 spojena určitá inherentní rizika. Jedním z příkladů je možnost importu škodlivých dat do webové aplikace prostřednictvím souborů s popisem, které se používají k importu. Pokud někdo umístil škodlivý kód skriptu jako hodnotu vlastnosti řetězce do souboru popisu, může být tento skript potenciálně spuštěn, když uživatel naimportuje 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ů s popisem (viz Popisné soubory 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 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 nepoužíváte. 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 například stránka načte, můžete 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í sady 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 jeden pro uživatele, kteří nemohou. 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í aplikaci 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 serverového ovládacího prvku. (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í prvek. (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ý server 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 označ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, do žá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í popis pro skupinu ovládacích prvků obsažených v ovládacím prvku panel. (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í nějaké 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 stav zobrazení povolen pro tento ovládací prvek. (Zděděno od Control) |
LoadViewStateByID |
Získá hodnotu označující, zda se ovládací prvek účastní načítání stavu zobrazení namísto ID indexu. (Zděděno od Control) |
NamingContainer |
Získá odkaz na názvový kontejner serverového ovládacího prvku, který vytvoří jedinečný obor názvů pro odlizení mezi ovládacími prvky serveru 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 nadřazený ovládací prvek serveru 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á vykreslovala 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 |
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 element XML nebo HTML, a přidá element do objektu serverového ControlCollection ovládacího prvku. (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 na ovládací prvek vlastnosti stylu definované v šabloně stylů stránky. (Zděděno od Control) |
BeginRenderTracing(TextWriter, Object) |
Začíná trasování vykreslovaných dat v době návrhu. (Zděděno od Control) |
BuildProfileTree(String, Boolean) |
Shromáždí informace o serverovém ovládacím prvku a předá je vlastnosti Trace , která se má zobrazit, když je pro stránku povoleno trasování. (Zděděno od Control) |
ClearCachedClientID() |
Nastaví hodnotu v ClientID mezipaměti na |
ClearChildControlState() |
Odstraní informace o stavu ovládacího prvku 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í pro všechny podřízené ovládací prvky serveru. (Zděděno od Control) |
ClearEffectiveClientIDMode() |
ClientIDMode Nastaví vlastnost instance aktuálního 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ána rozhraním ASP.NET stránky k upozornění serverových ovládacích prvků, 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 zaúčtování zpět nebo vykreslení. (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 vyvoláný 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 vyvolaný ovládací prvek serveru a všechny jeho podřízené ovládací prvky s možností vyvolat DataBinding událost. (Zděděno od Control) |
DataBindChildren() |
Vytvoří vazbu zdroje dat na podřízené ovládací prvky serveru. (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í doby návrhu vykreslovaných dat. (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 pro ovládací prvky, 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 názvovém kontejneru serverový ovládací prvek se zadaným |
FindControl(String, Int32) |
Vyhledá v aktuálním kontejneru pojmenování serverový ovládací prvek se zadaným |
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() |
Type Získá z aktuální instance. (Zděděno od Object) |
GetUniqueIDRelativeTo(Control) |
Vrátí část UniqueID vlastnosti zadaného ovládacího prvku s předponou. (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, zda 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, zda 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 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á používá 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 na 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ího prvku serveru do zadaného HtmlTextWriter objektu a uloží informace o trasování ovládacího prvku, pokud je trasování povoleno. (Zděděno od Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Vypíše obsah řízení 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á adaptér ovládacího prvku 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ích prvků 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 pro vykreslení serverového ovládacího prvku a jeho obsahu 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í datového klíče trasování a hodnoty dat trasování. (Zděděno od Control) |
SetTraceData(Object, Object, Object) |
Nastaví trasovací data pro trasování vykreslovaných dat v době návrhu pomocí trasovaného objektu, datového klíče 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 |
Vyvolá se při vytvoření vazby serverového ovládacího prvku na zdroj dat. (Zděděno od Control) |
Disposed |
Vyvolá se 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 ASP.NET stránka. (Zděděno od Control) |
Init |
Vyvolá se při inicializaci serverového ovládacího prvku, což je první krok v jeho životním cyklu. (Zděděno od Control) |
Load |
Vyvolá se při načtení serverového ovládacího prvku do objektu Page . (Zděděno od Control) |
PreRender |
Vyvolá se 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ý ovládací prvek dat. |
GetMetaTable(INamingContainer) |
Získá metadata tabulky pro zadaný ovládací prvek dat. |
SetMetaTable(INamingContainer, MetaTable) |
Nastaví metadata tabulky pro zadaný ovládací prvek dat. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Nastaví mapování metadat tabulky a výchozí hodnoty pro zadaný ovládací prvek dat. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Nastaví mapování metadat tabulky a výchozí hodnoty pro zadaný ovládací prvek dat. |
TryGetMetaTable(INamingContainer, MetaTable) |
Určuje, zda 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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro