ImportCatalogPart Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Импортирует файл описания для WebPart элемента управления (или другого ASP.NET серверного элемента управления, используемого в качестве WebPart элемента управления), чтобы пользователи могли добавлять элемент управления на веб-страницу с предварительно определенными параметрами. Этот класс не может быть унаследован.
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
- Наследование
Примеры
В следующем примере кода показано, как использовать ImportCatalogPart элемент управления декларативно и программно на веб-странице. Пример состоит из четырех частей:
Пользовательский элемент управления, позволяющий изменять режимы отображения на странице веб-частей.
Веб-страница, содержащая CatalogZone элемент управления и ImportCatalogPart элемент управления.
Файл исходного кода, содержащий два пользовательских WebPart элемента управления.
Описание работы примера при загрузке страницы в браузере.
Первая часть этого примера кода — это пользовательский элемент управления, позволяющий пользователям изменять режимы отображения на веб-странице. Вы должны поместить следующий исходный код в файл и назовите его Displaymodemenucs.ascx или Displaymodemenuvb.ascx (в зависимости от используемого языка). Дополнительные сведения о режимах отображения и описании исходного кода в этом элементе управления см. в пошаговом руководстве. Изменение режимов отображения на странице веб-частей.
<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
// Use a field to reference the current WebPartManager.
WebPartManager _manager;
void Page_Init(object sender, EventArgs e)
{
Page.InitComplete += new EventHandler(InitComplete);
}
void InitComplete(object sender, System.EventArgs e)
{
_manager = WebPartManager.GetCurrentWebPartManager(Page);
String browseModeName = WebPartManager.BrowseDisplayMode.Name;
// Fill the dropdown with the names of supported display modes.
foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
{
String modeName = mode.Name;
// Make sure a mode is enabled before adding it.
if (mode.IsEnabled(_manager))
{
ListItem item = new ListItem(modeName, modeName);
DisplayModeDropdown.Items.Add(item);
}
}
// If shared scope is allowed for this user, display the scope-switching
// UI and select the appropriate radio button for the current user scope.
if (_manager.Personalization.CanEnterSharedScope)
{
Panel2.Visible = true;
if (_manager.Personalization.Scope == PersonalizationScope.User)
RadioButton1.Checked = true;
else
RadioButton2.Checked = true;
}
}
// Change the page to the selected display mode.
void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
String selectedMode = DisplayModeDropdown.SelectedValue;
WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
if (mode != null)
_manager.DisplayMode = mode;
}
// Set the selected item equal to the current display mode.
void Page_PreRender(object sender, EventArgs e)
{
ListItemCollection items = DisplayModeDropdown.Items;
int selectedIndex =
items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
DisplayModeDropdown.SelectedIndex = selectedIndex;
}
// Reset all of a user's personalization data for the page.
protected void LinkButton1_Click(object sender, EventArgs e)
{
_manager.Personalization.ResetPersonalizationState();
}
// If not in User personalization scope, toggle into it.
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (_manager.Personalization.Scope == PersonalizationScope.Shared)
_manager.Personalization.ToggleScope();
}
// If not in Shared scope, and if user is allowed, toggle the scope.
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
if (_manager.Personalization.CanEnterSharedScope &&
_manager.Personalization.Scope == PersonalizationScope.User)
_manager.Personalization.ToggleScope();
}
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
' Use a field to reference the current WebPartManager.
Dim _manager As WebPartManager
Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
AddHandler Page.InitComplete, AddressOf InitComplete
End Sub
Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
_manager = WebPartManager.GetCurrentWebPartManager(Page)
Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
' Fill the dropdown with the names of supported display modes.
Dim mode As WebPartDisplayMode
For Each mode In _manager.SupportedDisplayModes
Dim modeName As String = mode.Name
' Make sure a mode is enabled before adding it.
If mode.IsEnabled(_manager) Then
Dim item As New ListItem(modeName, modeName)
DisplayModeDropdown.Items.Add(item)
End If
Next mode
' If shared scope is allowed for this user, display the scope-switching
' UI and select the appropriate radio button for the current user scope.
If _manager.Personalization.CanEnterSharedScope Then
Panel2.Visible = True
If _manager.Personalization.Scope = PersonalizationScope.User Then
RadioButton1.Checked = True
Else
RadioButton2.Checked = True
End If
End If
End Sub
' Change the page to the selected display mode.
Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs)
Dim selectedMode As String = DisplayModeDropdown.SelectedValue
Dim mode As WebPartDisplayMode = _
_manager.SupportedDisplayModes(selectedMode)
If Not (mode Is Nothing) Then
_manager.DisplayMode = mode
End If
End Sub
' Set the selected item equal to the current display mode.
Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
Dim items As ListItemCollection = DisplayModeDropdown.Items
Dim selectedIndex As Integer = _
items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
DisplayModeDropdown.SelectedIndex = selectedIndex
End Sub
' Reset all of a user's personalization data for the page.
Protected Sub LinkButton1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
_manager.Personalization.ResetPersonalizationState()
End Sub
' If not in User personalization scope, toggle into it.
Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.Scope = PersonalizationScope.Shared Then
_manager.Personalization.ToggleScope()
End If
End Sub
' If not in Shared scope, and if user is allowed, toggle the scope.
Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.CanEnterSharedScope AndAlso _
_manager.Personalization.Scope = PersonalizationScope.User Then
_manager.Personalization.ToggleScope()
End If
End Sub
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
Второй частью примера кода является веб-страница. В верхней части страницы находятся две register директивы, одна для пользовательского элемента управления и одна для скомпилированного компонента, содержащего два пользовательских WebPart элемента управления. Обратите внимание, что страница имеет декларативную ссылку на ImportCatalogPart элемент управления, вложенную в соответствующую иерархию декларативных элементов. Обратите внимание, что несколько значений свойств присваиваются декларативно элементу <asp:importcatalogpart> . Кроме того, Button1_Click метод обновляет ряд значений свойств элемента ImportCatalogPart управления.
В элементе управления страницы WebPartZone объявляются два пользовательских WebPart элемента управления. Элемент <aspSample:userinfowebpart> управления имеет exportmode="all" атрибут на нем. Этот атрибут необходим, чтобы пользователи могли экспортировать файл описания для элемента управления, который затем можно импортировать другими пользователями, которые хотят импортировать элемент управления с помощью файла описания.
Замечание
Чтобы пользователи веб-частей могли экспортировать файл описания для WebPart элементов управления, необходимо также включить функцию экспорта в веб-приложении, добавив enableExport="true" атрибут <webParts> в элемент ( <system.web> дочерний элемент элемента) в файл Web.config. Экспорт отключен по умолчанию, поэтому если вы еще не включили экспорт для приложения, измените файл Web.config и сделайте это сейчас.
<%@ 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>
Третья часть примера кода — исходный код для двух WebPart элементов управления. Обратите внимание, что некоторые свойства этих элементов управления помечены атрибутом WebBrowsable . Это позволяет PropertyGridEditorPart элементу управления динамически создавать пользовательский интерфейс (пользовательский интерфейс) для пользователя изменять эти свойства, когда элементы управления находятся в режиме редактирования. Свойства также помечены атрибутом WebDisplayName , чтобы указать текст метки, которая отображается рядом с каждым элементом управления в пользовательском интерфейсе редактирования. Для запуска примера кода необходимо скомпилировать этот исходный код. Вы можете скомпилировать его явным образом и поместить полученную сборку в папку bin веб-сайта или глобальный кэш сборок. Кроме того, исходный код можно поместить в папку App_Code сайта, где он будет динамически скомпилирован во время выполнения. В этом примере кода используется динамическая компиляция. Пошаговое руководство, демонстрирующее оба метода компиляции, см. в пошаговом руководстве по разработке и использованию пользовательского веб-сервера.
Вызываемый пользовательский элемент управления TextDisplayWebPart ссылается на веб-страницу с элементом <aspSample:TextDisplayWebPart> . Другой элемент управления, называемый UserInfoWebPart, также объявляется на веб-странице первоначально, хотя вы удалите его позже, чтобы продемонстрировать возможность импорта файла описания для элемента управления.
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
Теперь запустите пример кода. Загрузите веб-страницу в браузере. Первым шагом является изменение UserInfoWebPart элемента управления. Используйте раскрывающийся список " Режим отображения " и выберите "Изменить ", чтобы переключить страницу в режим редактирования. Щелкните меню команд элемента управления (стрелка вниз в строке заголовка UserInfoWebPart ), а затем нажмите кнопку "Изменить". При появлении пользовательского интерфейса редактирования под элементом управления отображается UserInfoWebPart несколько элементов управления редактирования, которые можно использовать для изменения значений полей. Измените некоторые поля, нажмите кнопку "ОК", а затем используйте раскрывающийся список "Режим отображения ", чтобы вернуть страницу для просмотра.
Второй шаг — экспорт . Файл описания веб-части элемента UserInfoWebPart управления. Щелкните меню команд в пользовательском элементе управления (представленное стрелкой вниз в строке заголовка) и нажмите кнопку "Экспорт". Следуйте инструкциям, чтобы сохранить файл. Файл описания веб-части элемента управления. Теперь закройте веб-страницу и измените источник страницы в редакторе.
<aspSample:userinfowebpart> Удалите элемент объявления элемента управления, а затем сохраните и закройте файл. (Вы выполняете этот шаг, чтобы имитировать пользователя, который еще не имеет UserInfoWebPart элемента управления, чтобы импортировать элемент управления на страницу).
Снова загрузите веб-страницу в браузере. Элемент UserInfoWebPart управления не должен отображаться, так как вы удалили его. Используйте раскрывающийся список " Режим отображения " и выберите "Каталог ", чтобы переключить страницу в режим каталога. В элементе управления нажмите кнопку "Обзор" и перейдите ImportCatalogPart к элементу управления. Созданный файл WebPart и нажмите кнопку "Отправить". Ссылка на элемент управления должна появиться с флажок рядом с ним. Установите флажок, а затем нажмите кнопку "Добавить ", чтобы добавить элемент управления на страницу.
Пока вы находитесь в этом представлении страницы, нажмите кнопку Update ImportCatalogPart в нижней части страницы, чтобы увидеть эффект программного обновления ряда значений свойств в элементе ImportCatalogPart управления. После нажатия кнопки обратите внимание на изменение различных свойств в пользовательском интерфейсе.
Наконец, нажмите кнопку "Закрыть ", чтобы выйти из режима каталога и вернуть страницу для просмотра. Теперь элемент UserInfoWebPart управления должен появиться на странице, содержащий значения, которые он имел при экспорте.
Комментарии
Элемент ImportCatalogPart управления позволяет пользователям импортировать файл описания, описывающий параметры элемента управления или серверного WebPart элемента управления, которые пользователь хочет добавить в WebPartZoneBase зону.
Когда пользователь импортирует файл описания, элемент управления, WebPart на который ссылается файл, отображается в ImportCatalogPart элементе управления, а пользователь может добавить элемент управления на страницу.
Файл описания не совпадает с самим элементом управления. Это XML-файл, который заканчивается на . Расширение WebPart и содержит пары "имя-значение", в основном значения свойств, описывающие состояние элемента управления. Файл описания создается в соответствии с указанным форматом XML, как описано в разделе "Файлы описания элементов управления веб-частями".
Что касается элемента управления, к которому относится файл описания, его можно скомпилировать в сборку или пользовательский элемент управления, определенный в ASCX-файле. В любом случае элемент управления, на который ссылается импортированный файл описания, должен существовать на веб-сервере, на котором размещена страница, которая пытается импортировать элемент управления. Файл описания ссылается на имя элемента управления и сборку (или файл), содержащую элемент управления, а файл описания содержит параметры, влияющие на значения свойств элемента управления, внешний вид и поведение.
Элемент ImportCatalogPart управления позволяет пользователям предоставлять общий доступ к параметрам элементов управления. Сложный элемент управления может иметь множество свойств и параметров. Например, в типичном сайте интрасети в крупной компании пользовательский WebPart элемент управления может содержать ряд свойств, содержащих значения, относящиеся к среде пользователей, например подключения к базе данных, сведения об отделе и т. д. Элемент управления также может содержать ряд свойств, влияющих на его внешний вид. Один пользователь может персонализировать элемент управления на определенном сайте и правильно работать, экспортировать файл описания для элемента управления, а затем предоставить общий доступ к файлу описания другим пользователям, которые могут импортировать файл, чтобы добавить полностью настроенный элемент управления на другие сайты интрасети, которые они могут персонализировать. Если скомпилированный файл сборки или пользовательского элемента управления, содержащий элемент управления, существует на веб-сервере, на котором размещен свой сайт, пользователи могут добавить элемент управления на другие веб-сайты.
Механизм импорта файла описания (и, следовательно, связанного с ним элемента управления сервером) на веб-страницу — это ImportCatalogPart элемент управления, который разработчик страницы должен добавить на веб-страницу. Когда пользователь переключает страницу в режим отображения каталога, ImportCatalogPart появляется элемент управления, и пользователь может использовать этот элемент управления для перехода к элементу управления. Файл описания веб-части, соответствующий элементу управления сервера, который требуется импортировать. После пользовательского интерфейса и инструкций, предоставленных ImportCatalogPart элементом управления, пользователь может добавить требуемый серверный элемент управления на веб-страницу, а его внешний вид и свойства полностью настроены, как указано в импортированном файле описания.
WebPart Прежде чем импортировать файл описания элемента управления, пользователь должен сначала создать (экспортировать) файл на основе существующего WebPart элемента управления. Файл описания можно экспортировать для элемента управления, если выполнены следующие условия:
Элемент управления имеет свойства, помеченные атрибутом
Personalizable.Файл Web.config имеет значение атрибута
enableExport, заданноеtrue<webParts>для элемента.Разработчик задает значение ExportMode свойства элемента управления, отличное от значения Noneпо умолчанию, которое запрещает экспорт. ExportMode Если задано значение NonSensitiveDataсвойства, любое свойство, содержащее IsSensitive параметр с
Personalizableатрибутом, не экспортируется, когда пользователь экспортирует файл описания. Это позволяет разработчикам управления предотвратить экспорт конфиденциальных данных, таких как строки подключения, в определенных ситуациях.
Пользователь может экспортировать элемент управления, который был включен для экспорта, щелкнув команду экспорта, которая отображается в меню команд элемента управления, и следуя инструкциям для сохранения элемента управления. Файл описания веб-части элемента управления. Затем другие пользователи могут импортировать этот файл, чтобы настроить собственные экземпляры элемента управления.
Класс ImportCatalogPart содержит несколько свойств. Свойство BrowseHelpText содержит текст с инструкциями для пользователей при поиске файла описания. Свойство ImportedPartLabelText содержит текст, который служит меткой для импортированного элемента управления, как он отображается в элементе ImportCatalogPart управления. Содержит PartImportErrorLabelText текст, отображаемый, если возникает ошибка при импорте описания элемента управления. Свойство Title переопределяет базовое свойство, чтобы назначить заголовок по умолчанию для ImportCatalogPart элемента управления, если разработчик не назначает название. Свойство UploadButtonText содержит текст кнопки, которую пользователь нажимает, чтобы отправить файл описания, а UploadHelpText свойство содержит инструкции для процесса отправки.
Класс ImportCatalogPart также содержит несколько уникальных методов. Метод GetAvailableWebPartDescriptions извлекает WebPartDescription объект для каждого WebPart элемента управления в каталоге, который позволяет ImportCatalogPart элементу управления отображать сведения о каждом серверном элементе управления без необходимости создавать экземпляр. Метод GetWebPart получает экземпляр определенного WebPart элемента управления на основе описания, переданного методу.
Существуют некоторые риски, связанные с использованием ImportCatalogPart элемента управления. Одним из примеров является возможность импорта вредоносных данных в веб-приложение с помощью файлов описания, используемых для импорта. Если кто-то поместил вредоносный код скрипта в качестве значения строкового свойства в файле описания, этот скрипт может быть выполнен при импорте файла описания и добавлении на веб-страницу элемента управления сервером, на который ссылается ссылка. Чтобы свести к минимуму риск импорта файлов описания с вредоносными данными, серверные элементы управления, имеющие строковые свойства, должны всегда кодировать данные свойств. Другой риск заключается в импорте типов с помощью файлов описания (см. раздел "Файлы описания элементов управления веб-частями"). Злоумышленник может отправлять запросы на загрузку множества сборок в нее AppDomain, что приводит к чрезмерному объему потребляемой памяти.
Чтобы избежать рисков, связанных с импортом, вы можете полностью отключить эту функцию, не используя функцию импорта или ImportCatalogPart элемент управления. Кроме того, можно ограничить доступ пользователей к элементу управления. Это можно сделать программным способом с помощью управления ролями (см. раздел "Управление авторизацией с помощью ролей"). Например, при загрузке страницы можно проверить, находится ли пользователь в определенной роли, например роль администратора. Если пользователь находится в роли, вы можете программно добавить ImportCatalogPart элемент управления на страницу для этого пользователя. Можно также использовать декларативный подход для ограничения набора пользователей, которые могут использовать элемент ImportCatalogPart управления. На веб-странице, содержащей каталог, можно разместить два CatalogZone элемента управления: один для пользователей, которые могут импортировать, и один для тех, кто не может. Зона для пользователей, которые могут импортировать элемент ImportCatalogPart управления. Сама зона может быть помещена внутри LoginView элемента управления, что позволит ограничить использование элемента управления в зоне только указанными пользователями или ролями, прошедшими проверку подлинности.
Конструкторы
| Имя | Описание |
|---|---|
| ImportCatalogPart() |
Инициализирует новый экземпляр класса ImportCatalogPart. |
Свойства
| Имя | Описание |
|---|---|
| AccessKey |
Возвращает или задает ключ доступа, позволяющий быстро перейти к элементу управления веб-сервера. (Унаследовано от WebControl) |
| Adapter |
Возвращает адаптер, зависящий от браузера, для элемента управления. (Унаследовано от Control) |
| AppRelativeTemplateSourceDirectory |
Возвращает или задает относительный к приложению виртуальный каталог Page объекта или UserControl объекта, содержащего этот элемент управления. (Унаследовано от Control) |
| Attributes |
Возвращает коллекцию произвольных атрибутов (только для отрисовки), которые не соответствуют свойствам элемента управления. (Унаследовано от WebControl) |
| BackColor |
Возвращает или задает цвет фона элемента управления веб-сервера. (Унаследовано от WebControl) |
| BackImageUrl |
Возвращает или задает URL-адрес фонового изображения для элемента управления панелью. (Унаследовано от Panel) |
| BindingContainer |
Возвращает элемент управления, содержащий привязку данных этого элемента управления. (Унаследовано от Control) |
| BorderColor |
Возвращает или задает цвет границы веб-элемента управления. (Унаследовано от WebControl) |
| BorderStyle |
Возвращает или задает стиль границы элемента управления веб-сервера. (Унаследовано от WebControl) |
| BorderWidth |
Возвращает или задает ширину границы элемента управления веб-сервера. (Унаследовано от WebControl) |
| BrowseHelpText |
Возвращает или задает текстовое сообщение, которое указывает пользователям перейти к расположению файла описания. |
| ChildControlsCreated |
Возвращает значение, указывающее, были ли созданы дочерние элементы управления сервера. (Унаследовано от Control) |
| ChromeState |
Возвращает или задает, находится ли элемент управления частью в свернутом или обычном состоянии. (Унаследовано от Part) |
| ChromeType |
Возвращает или задает тип границы, которая кадривает элемент управления веб-частей. (Унаследовано от Part) |
| ClientID |
Возвращает идентификатор элемента управления для разметки HTML, созданной ASP.NET. (Унаследовано от Control) |
| ClientIDMode |
Возвращает или задает алгоритм, используемый для создания значения ClientID свойства. (Унаследовано от Control) |
| ClientIDSeparator |
Возвращает значение символа, представляющее символ разделителя, используемый в свойстве ClientID . (Унаследовано от Control) |
| Context |
HttpContext Возвращает объект, связанный с серверным элементом управления для текущего веб-запроса. (Унаследовано от Control) |
| Controls |
ControlCollection Возвращает объект, содержащий дочерние элементы управления для указанного серверного элемента управления в иерархии пользовательского интерфейса. (Унаследовано от Part) |
| ControlStyle |
Возвращает стиль элемента управления веб-сервера. Это свойство используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| ControlStyleCreated |
Возвращает значение, указывающее, был ли Style объект создан для ControlStyle свойства. Это свойство в основном используется разработчиками элементов управления. (Унаследовано от WebControl) |
| CssClass |
Возвращает или задает класс каскадной таблицы стилей (CSS), отображаемый элементом управления веб-сервера на клиенте. (Унаследовано от WebControl) |
| DataItemContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует IDataItemContainer. (Унаследовано от Control) |
| DataKeysContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует IDataKeysControl. (Унаследовано от Control) |
| DefaultButton |
Возвращает или задает, какая кнопка в пользовательском интерфейсе обрабатывается как кнопка по умолчанию, которая получает фокус при отображении формы, содержащей кнопку. Это свойство не предназначено для вызова из кода разработчика страницы. |
| Description |
Получает или задает краткую фразу, которая суммирует то, что делает элемент управления частью, для использования в подсказках и каталогах элементов управления частью. (Унаследовано от Part) |
| DesignMode |
Возвращает значение, указывающее, используется ли элемент управления на поверхности конструктора. (Унаследовано от Control) |
| Direction |
Получает или задает направление отображения элементов управления, включающих текст в Panel элемент управления. (Унаследовано от Panel) |
| DisplayTitle |
Возвращает строку, содержащую фактическое текущее название CatalogPart элемента управления. (Унаследовано от CatalogPart) |
| Enabled |
Возвращает или задает значение, указывающее, включен ли элемент управления веб-сервера. (Унаследовано от WebControl) |
| EnableTheming |
Возвращает или задает значение, указывающее, применяются ли темы к этому элементу управления. (Унаследовано от WebControl) |
| EnableViewState |
Возвращает или задает значение, указывающее, сохраняет ли серверный элемент управления состояние представления и состояние представления всех дочерних элементов управления, содержащихся в нем, для запрашивающего клиента. (Унаследовано от Control) |
| Events |
Возвращает список делегатов обработчика событий для элемента управления. Это свойство доступно только для чтения. (Унаследовано от Control) |
| Font |
Возвращает свойства шрифта, связанные с элементом управления веб-сервера. (Унаследовано от WebControl) |
| ForeColor |
Возвращает или задает цвет переднего плана (обычно цвет текста) элемента управления веб-сервера. (Унаследовано от WebControl) |
| GroupingText |
Возвращает или задает заголовок для группы элементов управления, содержащихся в элементе управления панели. (Унаследовано от Panel) |
| HasAttributes |
Возвращает значение, указывающее, имеет ли элемент управления набор атрибутов. (Унаследовано от WebControl) |
| HasChildViewState |
Получает значение, указывающее, имеют ли дочерние элементы управления текущего элемента управления серверным элементом управления какие-либо сохраненные параметры состояния представления. (Унаследовано от Control) |
| Height |
Возвращает или задает высоту элемента управления веб-сервера. (Унаследовано от WebControl) |
| HorizontalAlign |
Возвращает или задает горизонтальное выравнивание содержимого на панели. (Унаследовано от Panel) |
| ID |
Возвращает или задает программный идентификатор, назначенный элементу управления сервером. (Унаследовано от Control) |
| IdSeparator |
Возвращает символ, используемый для разделения идентификаторов элемента управления. (Унаследовано от Control) |
| ImportedPartLabelText |
Возвращает или задает текст, отображаемый после импорта пользователем файла описания для представления или описания импортированного элемента управления в каталоге импортированных элементов управления. |
| IsChildControlStateCleared |
Возвращает значение, указывающее, имеют ли элементы управления, содержащиеся в этом элементе управления, состояние элемента управления. (Унаследовано от Control) |
| IsEnabled |
Возвращает значение, указывающее, включен ли элемент управления. (Унаследовано от WebControl) |
| IsTrackingViewState |
Возвращает значение, указывающее, сохраняется ли серверная система управления изменениями в состоянии представления. (Унаследовано от Control) |
| IsViewStateEnabled |
Возвращает значение, указывающее, включено ли состояние представления для этого элемента управления. (Унаследовано от Control) |
| LoadViewStateByID |
Возвращает значение, указывающее, участвует ли элемент управления в загрузке состояния ID представления вместо индекса. (Унаследовано от Control) |
| NamingContainer |
Возвращает ссылку на контейнер именования серверного элемента управления, который создает уникальное пространство имен для различения между элементами управления сервера с ID одинаковым значением свойства. (Унаследовано от Control) |
| Page |
Возвращает ссылку на Page экземпляр, содержащий серверный элемент управления. (Унаследовано от Control) |
| Parent |
Возвращает ссылку на родительский элемент управления сервера в иерархии элементов управления страницами. (Унаследовано от Control) |
| PartImportErrorLabelText |
Возвращает или задает сообщение об ошибке, отображаемое при возникновении ошибки во время процесса импорта. |
| RenderingCompatibility |
Возвращает значение, указывающее версию ASP.NET, с которым будет совместим отрисованный HTML. (Унаследовано от Control) |
| ScrollBars |
Возвращает или задает видимость и положение полос прокрутки в элементе Panel управления. (Унаследовано от Panel) |
| Site |
Получает сведения о контейнере, на котором размещается текущий элемент управления при отрисовки на поверхности конструктора. (Унаследовано от Control) |
| SkinID |
Возвращает или задает кожу, применяемую к элементу управления. (Унаследовано от WebControl) |
| Style |
Возвращает коллекцию текстовых атрибутов, которые будут отображаться как атрибут стиля во внешнем теге элемента управления веб-сервера. (Унаследовано от WebControl) |
| SupportsDisabledAttribute |
Возвращает значение, указывающее, должен ли элемент управления задать |
| TabIndex |
Возвращает или задает индекс табуляции элемента управления веб-сервера. (Унаследовано от WebControl) |
| TagKey |
Возвращает значение, соответствующее HtmlTextWriterTag этому элементу управления веб-сервера. Это свойство используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| TagName |
Возвращает имя тега элемента управления. Это свойство используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| TemplateControl |
Возвращает или задает ссылку на шаблон, содержащий этот элемент управления. (Унаследовано от Control) |
| TemplateSourceDirectory |
Возвращает виртуальный Page каталог или UserControl содержащий текущий серверный элемент управления. (Унаследовано от Control) |
| Title |
Возвращает или задает заголовок, отображаемый в строке заголовка ImportCatalogPart элемента управления. |
| ToolTip |
Возвращает или задает текст, отображаемый при наведении указателя мыши на элемент управления веб-сервера. (Унаследовано от WebControl) |
| UniqueID |
Возвращает уникальный иерархический идентификатор для элемента управления сервером. (Унаследовано от Control) |
| UploadButtonText |
Возвращает или задает текст элемента Button управления, инициирующего отправку файла описания. |
| UploadHelpText |
Возвращает или задает текст сообщения, который сообщает пользователю, как отправить файл описания. |
| ValidateRequestMode |
Возвращает или задает значение, указывающее, проверяет ли элемент управления входные данные клиента из браузера для потенциально опасных значений. (Унаследовано от Control) |
| ViewState |
Получает словарь сведений о состоянии, позволяющий сохранять и восстанавливать состояние представления серверного элемента управления в нескольких запросах на одну и ту же страницу. (Унаследовано от Control) |
| ViewStateIgnoresCase |
Возвращает значение, указывающее, является ли StateBag объект нечувствительным к регистру. (Унаследовано от Control) |
| ViewStateMode |
Возвращает или задает режим состояния представления этого элемента управления. (Унаследовано от Control) |
| Visible |
Возвращает или задает значение, указывающее, отображается ли серверный элемент управления в виде пользовательского интерфейса на странице. (Унаследовано от Control) |
| WebPartManager |
Возвращает ссылку на текущий экземпляр WebPartManager класса. (Унаследовано от CatalogPart) |
| Width |
Возвращает или задает ширину элемента управления веб-сервера. (Унаследовано от WebControl) |
| Wrap |
Возвращает или задает значение, указывающее, выполняется ли оболочка содержимого на панели. (Унаследовано от Panel) |
| Zone |
Возвращает ссылку на CatalogZoneBase зону, содержащую CatalogPart элемент управления. (Унаследовано от CatalogPart) |
Методы
| Имя | Описание |
|---|---|
| AddAttributesToRender(HtmlTextWriter) |
Добавляет сведения о фоновом изображении, выравнивании, оболочке и направлении в список атрибутов для отрисовки. (Унаследовано от Panel) |
| AddedControl(Control, Int32) |
Вызывается после добавления дочернего Control элемента управления в Controls коллекцию объекта. (Унаследовано от Control) |
| AddParsedSubObject(Object) |
Уведомляет серверный элемент управления о том, что элемент , XML или HTML, был проанализирован, и добавляет элемент в объект элемента управления ControlCollection сервера. (Унаследовано от Control) |
| ApplyStyle(Style) |
Копирует все небланковые элементы указанного стиля в веб-элемент управления, перезаписыв все существующие элементы стиля элемента управления. Этот метод в основном используется разработчиками элементов управления. (Унаследовано от WebControl) |
| ApplyStyleSheetSkin(Page) |
Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления. (Унаследовано от Control) |
| BeginRenderTracing(TextWriter, Object) |
Начинает трассировку данных отрисовки во время разработки. (Унаследовано от Control) |
| BuildProfileTree(String, Boolean) |
Собирает сведения о серверном элементе управления и передает его Trace свойству, которое будет отображаться при включении трассировки для страницы. (Унаследовано от Control) |
| ClearCachedClientID() |
Задает кэшированное ClientID значение |
| ClearChildControlState() |
Удаляет сведения о состоянии элемента управления для дочерних элементов управления сервера. (Унаследовано от Control) |
| ClearChildState() |
Удаляет сведения о состоянии представления и состояния элемента управления для всех дочерних элементов управления сервера. (Унаследовано от Control) |
| ClearChildViewState() |
Удаляет сведения о состоянии представления для всех дочерних элементов управления сервера. (Унаследовано от Control) |
| ClearEffectiveClientIDMode() |
ClientIDMode Задает свойство текущего экземпляра элемента управления и всех дочерних элементов управленияInherit. (Унаследовано от Control) |
| CopyBaseAttributes(WebControl) |
Копирует свойства, не инкапсулированные Style объектом из указанного элемента управления веб-сервера, в элемент управления веб-сервера, из который вызывается этот метод. Этот метод используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| CreateChildControls() |
Вызывается платформой страницы ASP.NET, чтобы уведомить серверные элементы управления, использующие реализацию на основе композиции, чтобы создать все дочерние элементы управления, содержащиеся в подготовке к публикации обратной или отрисовки. (Унаследовано от Control) |
| CreateControlCollection() |
Создает новый ControlCollection объект для хранения дочерних элементов управления (как литерала, так и сервера) элемента управления сервером. (Унаследовано от Control) |
| CreateControlStyle() |
Создает объект стиля, который используется внутри Panel элемента управления для реализации всех свойств, связанных со стилем. (Унаследовано от Panel) |
| DataBind() |
Привязывает источник данных к вызываемой серверной системе управления и всем дочерним элементам управления. (Унаследовано от Part) |
| DataBind(Boolean) |
Привязывает источник данных к вызываемой серверной системе управления и всем его дочерним элементам управления с возможностью вызвать DataBinding событие. (Унаследовано от Control) |
| DataBindChildren() |
Привязывает источник данных к дочерним элементам управления сервера. (Унаследовано от Control) |
| Dispose() |
Позволяет элементу управления сервера выполнять окончательную очистку перед освобождением из памяти. (Унаследовано от Control) |
| EndRenderTracing(TextWriter, Object) |
Завершает трассировку времени разработки данных отрисовки. (Унаследовано от Control) |
| EnsureChildControls() |
Определяет, содержит ли серверный элемент управления дочерние элементы управления. Если это не так, он создает дочерние элементы управления. (Унаследовано от Control) |
| EnsureID() |
Создает идентификатор для элементов управления, которым не назначен идентификатор. (Унаследовано от Control) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| FindControl(String, Int32) |
Выполняет поиск текущего контейнера именования для элемента управления сервером с указанным |
| FindControl(String) |
Выполняет поиск текущего контейнера именования для элемента управления сервером с указанным |
| Focus() |
Задает фокус ввода элементу управления. (Унаследовано от Control) |
| GetAvailableWebPartDescriptions() |
Возвращает коллекцию описаний доступных WebPart элементов управления в каталоге. |
| GetDesignModeState() |
Извлекает текущее состояние родительской CatalogPart зоны элемента управления. (Унаследовано от CatalogPart) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetRouteUrl(Object) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. (Унаследовано от Control) |
| GetRouteUrl(RouteValueDictionary) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. (Унаследовано от Control) |
| GetRouteUrl(String, Object) |
Получает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. (Унаследовано от Control) |
| GetRouteUrl(String, RouteValueDictionary) |
Получает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. (Унаследовано от Control) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetUniqueIDRelativeTo(Control) |
Возвращает префиксированную часть UniqueID свойства указанного элемента управления. (Унаследовано от Control) |
| GetWebPart(WebPartDescription) |
Возвращает ссылку на элемент управления на основе значений WebPart в описании, переданном в метод. |
| HasControls() |
Определяет, содержит ли серверный элемент управления какие-либо дочерние элементы управления. (Унаследовано от Control) |
| HasEvents() |
Возвращает значение, указывающее, регистрируются ли события для элемента управления или любых дочерних элементов управления. (Унаследовано от Control) |
| IsLiteralContent() |
Определяет, содержит ли серверный элемент управления только литеральное содержимое. (Унаследовано от Control) |
| LoadControlState(Object) |
Восстанавливает сведения о состоянии элемента управления из предыдущего запроса страницы, сохраненного методом SaveControlState() . (Унаследовано от Control) |
| LoadViewState(Object) |
Восстанавливает сведения о состоянии представления из предыдущего запроса, сохраненного SaveViewState() с помощью метода. (Унаследовано от WebControl) |
| MapPathSecure(String) |
Извлекает физический путь, с которым сопоставляется виртуальный путь( абсолютный или относительный). (Унаследовано от Control) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MergeStyle(Style) |
Копирует все небланковые элементы указанного стиля в веб-элемент управления, но не перезаписывает существующие элементы стиля элемента управления. Этот метод используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| OnBubbleEvent(Object, EventArgs) |
Определяет, передается ли событие для элемента управления сервером пользовательского интерфейса страницы. (Унаследовано от Control) |
| OnDataBinding(EventArgs) |
Вызывает событие DataBinding. (Унаследовано от Control) |
| OnInit(EventArgs) |
Вызывает событие Init. (Унаследовано от Control) |
| OnLoad(EventArgs) |
Вызывает событие Load. (Унаследовано от Control) |
| OnPreRender(EventArgs) |
Вызывает событие PreRender. (Унаследовано от CatalogPart) |
| OnUnload(EventArgs) |
Вызывает событие Unload. (Унаследовано от Control) |
| OpenFile(String) |
Возвращает используемый Stream для чтения файла. (Унаследовано от Control) |
| RaiseBubbleEvent(Object, EventArgs) |
Назначает любые источники события и ее сведения родительскому элементу управления. (Унаследовано от Control) |
| RemovedControl(Control) |
Вызывается после удаления дочернего Control элемента управления из Controls коллекции объекта. (Унаследовано от Control) |
| Render(HtmlTextWriter) |
Отрисовывает элемент управления в указанный модуль записи HTML. (Унаследовано от WebControl) |
| RenderBeginTag(HtmlTextWriter) |
Отрисовывает HTML-тег открывающего элемента Panel управления указанному средству записи. (Унаследовано от Panel) |
| RenderChildren(HtmlTextWriter) |
Выводит содержимое дочерних элементов управления сервера в предоставленный HtmlTextWriter объект, который записывает содержимое для отрисовки на клиенте. (Унаследовано от Control) |
| RenderContents(HtmlTextWriter) |
Отрисовывает содержимое элемента управления указанному средству записи. Этот метод используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Выводит содержимое элемента управления сервером в предоставленный HtmlTextWriter объект с помощью предоставленного ControlAdapter объекта. (Унаследовано от Control) |
| RenderControl(HtmlTextWriter) |
Выводит содержимое сервера управления в предоставленный HtmlTextWriter объект и сохраняет сведения о трассировке элемента управления, если трассировка включена. (Унаследовано от Control) |
| RenderEndTag(HtmlTextWriter) |
Отрисовывает html-закрывающий тег Panel элемента управления в указанный модуль записи. (Унаследовано от Panel) |
| ResolveAdapter() |
Возвращает адаптер управления, отвечающий за отрисовку указанного элемента управления. (Унаследовано от Control) |
| ResolveClientUrl(String) |
Получает URL-адрес, который может использоваться браузером. (Унаследовано от Control) |
| ResolveUrl(String) |
Преобразует URL-адрес в url-адрес, который можно использовать на запрашиваемом клиенте. (Унаследовано от Control) |
| SaveControlState() |
Сохраняет все изменения состояния управления сервером, которые произошли с момента публикации страницы на сервер. (Унаследовано от Control) |
| SaveViewState() |
Сохраняет любое состояние, измененное после TrackViewState() вызова метода. (Унаследовано от WebControl) |
| SetDesignModeState(IDictionary) |
Задает данные во время разработки для элемента управления. (Унаследовано от CatalogPart) |
| SetRenderMethodDelegate(RenderMethod) |
Назначает делегат обработчика событий для отрисовки элемента управления сервером и его содержимого в родительский элемент управления. (Унаследовано от Control) |
| SetTraceData(Object, Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя объект трассировки, ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
| SetTraceData(Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TrackViewState() |
Позволяет элементу управления отслеживать изменения состояния представления, чтобы они могли храниться в свойстве объекта ViewState . (Унаследовано от WebControl) |
События
| Имя | Описание |
|---|---|
| DataBinding |
Происходит, когда серверный элемент управления привязывается к источнику данных. (Унаследовано от Control) |
| Disposed |
Происходит при освобождении серверного элемента управления из памяти, который является последним этапом жизненного цикла управления сервера при запросе страницы ASP.NET. (Унаследовано от Control) |
| Init |
Происходит при инициализации серверного элемента управления, который является первым шагом в его жизненном цикле. (Унаследовано от Control) |
| Load |
Происходит при загрузке серверного элемента управления в Page объект. (Унаследовано от Control) |
| PreRender |
Происходит после Control загрузки объекта, но до отрисовки. (Унаследовано от Control) |
| Unload |
Происходит при выгрузке серверного элемента управления из памяти. (Унаследовано от Control) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IAttributeAccessor.GetAttribute(String) |
Возвращает атрибут веб-элемента управления с указанным именем. (Унаследовано от WebControl) |
| IAttributeAccessor.SetAttribute(String, String) |
Задает атрибут веб-элемента управления указанным именем и значением. (Унаследовано от WebControl) |
| ICompositeControlDesignerAccessor.RecreateChildControls() |
Позволяет разработчику конструктора для составного элемента управления создать дочерние элементы управления элемента управления на поверхности конструктора. (Унаследовано от Part) |
| IControlBuilderAccessor.ControlBuilder |
Описание этого элемента см. в разделе ControlBuilder. (Унаследовано от Control) |
| IControlDesignerAccessor.GetDesignModeState() |
Описание этого элемента см. в разделе GetDesignModeState(). (Унаследовано от Control) |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Описание этого элемента см. в разделе SetDesignModeState(IDictionary). (Унаследовано от Control) |
| IControlDesignerAccessor.SetOwnerControl(Control) |
Описание этого элемента см. в разделе SetOwnerControl(Control). (Унаследовано от Control) |
| IControlDesignerAccessor.UserData |
Описание этого элемента см. в разделе UserData. (Унаследовано от Control) |
| IDataBindingsAccessor.DataBindings |
Описание этого элемента см. в разделе DataBindings. (Унаследовано от Control) |
| IDataBindingsAccessor.HasDataBindings |
Описание этого элемента см. в разделе HasDataBindings. (Унаследовано от Control) |
| IExpressionsAccessor.Expressions |
Описание этого элемента см. в разделе Expressions. (Унаследовано от Control) |
| IExpressionsAccessor.HasExpressions |
Описание этого элемента см. в разделе HasExpressions. (Унаследовано от Control) |
| IParserAccessor.AddParsedSubObject(Object) |
Описание этого элемента см. в разделе AddParsedSubObject(Object). (Унаследовано от Control) |
Методы расширения
| Имя | Описание |
|---|---|
| EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Включает поведение динамических данных для указанного элемента управления данными. |
| EnableDynamicData(INamingContainer, Type, Object) |
Включает поведение динамических данных для указанного элемента управления данными. |
| EnableDynamicData(INamingContainer, Type) |
Включает поведение динамических данных для указанного элемента управления данными. |
| FindDataSourceControl(Control) |
Возвращает источник данных, связанный с элементом управления данными для указанного элемента управления. |
| FindFieldTemplate(Control, String) |
Возвращает шаблон поля для указанного столбца в контейнере именования указанного элемента управления. |
| FindMetaTable(Control) |
Возвращает объект метатабли для содержащего элемента управления данными. |
| GetDefaultValues(INamingContainer) |
Возвращает коллекцию значений по умолчанию для указанного элемента управления данными. |
| GetMetaTable(INamingContainer) |
Возвращает метаданные таблицы для указанного элемента управления данными. |
| SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Задает сопоставление метаданных таблицы и значений по умолчанию для указанного элемента управления данными. |
| SetMetaTable(INamingContainer, MetaTable, Object) |
Задает сопоставление метаданных таблицы и значений по умолчанию для указанного элемента управления данными. |
| SetMetaTable(INamingContainer, MetaTable) |
Задает метаданные таблицы для указанного элемента управления данными. |
| TryGetMetaTable(INamingContainer, MetaTable) |
Определяет, доступны ли метаданные таблицы. |