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 управления нажмите кнопку Обзор и перейдите к . Созданный файл веб-части нажмите кнопку Отправить . Ссылка на элемент управления должна появиться с флажок рядом с ним. Установите флажок и нажмите кнопку Добавить , чтобы добавить элемент управления на страницу.
В этом представлении страницы нажмите кнопку Обновить ImportCatalogPart в нижней части страницы, чтобы увидеть результат программного обновления ряда значений свойств элемента ImportCatalogPart управления. После нажатия кнопки понаблюдайте за изменением различных свойств в пользовательском интерфейсе.
Наконец, нажмите кнопку Закрыть , чтобы выйти из режима каталога и вернуть страницу в режим просмотра. Элемент UserInfoWebPart
управления должен появиться на странице со значениями, которые он имел при экспорте ранее.
Комментарии
Элемент ImportCatalogPart управления позволяет пользователям импортировать файл описания, описывающий параметры элемента управления или серверного WebPart элемента управления, которые пользователь хочет добавить в WebPartZoneBase зону.
После того как пользователь импортирует файл описания, элемент управления, WebPart на который ссылается файл, появится в элементе ImportCatalogPart управления, и пользователь может добавить элемент управления на страницу.
Файл описания отличается от самого элемента управления. Это XML-файл, заканчивающийся на . Расширение WebPart и содержит пары "имя-значение" (в основном значения свойств), описывающие состояние элемента управления. Файл описания создается в соответствии с указанным форматом XML, как описано в разделе Файлы описания элементов управления веб-частей.
Что касается элемента управления, на который ссылается файл описания, его можно скомпилировать в сборку или пользовательский элемент управления, определенный в ASCX-файле. В любом случае элемент управления, указанный в импортированном файле описания, должен существовать на веб-сервере, на котором размещена страница, которая пытается импортировать элемент управления. Файл описания ссылается на имя элемента управления и сборку (или файл), содержащую элемент управления , а файл описания содержит параметры, влияющие на значения свойств, внешний вид и поведение элемента управления.
Элемент ImportCatalogPart управления позволяет пользователям совместно использовать параметры элементов управления. Сложный элемент управления может иметь множество свойств и параметров. Например, на типичном сайте интрасети в крупной компании пользовательский WebPart элемент управления может содержать ряд свойств, содержащих значения, относящиеся к среде пользователей, такие как подключения к базе данных, сведения об отделах и т. д. Элемент управления также может содержать ряд свойств, влияющих на его внешний вид. Один пользователь может персонализировать элемент управления на определенном сайте и обеспечить его правильную работу, экспортировать файл описания элемента управления, а затем поделиться файлом описания с другими пользователями, которые могут импортировать файл, чтобы добавить полностью настроенный элемент управления на другие сайты интрасети, которые им разрешено персонализировать. Пока скомпилированный файл сборки или пользовательского элемента управления, содержащий элемент управления, существует на веб-сервере, на котором размещается их сайт, пользователи могут добавлять элемент управления на другие веб-сайты.
Механизм, с помощью которого пользователи импортируют файл описания (и, следовательно, связанный с ним серверный элемент управления) на веб-страницу, — это ImportCatalogPart элемент управления, который разработчик страницы должен добавить на веб-страницу. Когда пользователь переключает страницу в режим отображения каталога, ImportCatalogPart появляется элемент управления , и пользователь может использовать этот элемент управления для перехода к . Файл описания веб-части, соответствующий элементу управления сервера, который требуется импортировать. После использования пользовательского интерфейса и инструкций, предоставленных элементом ImportCatalogPart управления , пользователь может добавить нужный серверный элемент управления на веб-страницу, а его внешний вид и свойства полностью настроены, как указано в импортированном файле описания.
Перед импортом WebPart файла описания элемента управления пользователь должен сначала создать (экспортировать) файл на основе существующего WebPart элемента управления. Файл описания можно экспортировать для элемента управления, если выполняются следующие условия:
Элемент управления имеет свойства, помеченные атрибутом
Personalizable
.Файл Web.config имеет значение атрибута
enableExport
в элементе<webParts>
.true
Разработчик задает для 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 |
Возвращает или задает индекс перехода по клавише Tab для серверного веб-элемента управления. (Унаследовано от 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) |
Вызывается после добавления дочернего элемента управления в коллекцию Controls объекта Control. (Унаследовано от 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) |
Выполняет поиск серверного элемента управления с заданным параметром |
FindControl(String, Int32) |
Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным |
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) |
Вызывается после удаления дочернего элемента управления из коллекции Controls объекта Control. (Унаследовано от Control) |
Render(HtmlTextWriter) |
Выполняет визуализацию элемента управления в указанный модуль записи HTML. (Унаследовано от WebControl) |
RenderBeginTag(HtmlTextWriter) |
Выполняет рендеринг открывающего HTML-тега элемента управления Panel для указанного объекта. (Унаследовано от Panel) |
RenderChildren(HtmlTextWriter) |
Выводит содержимое дочерних элементов серверного элемента управления в предоставленный объект HtmlTextWriter, который записывает это содержимое для подготовки к просмотру на клиенте. (Унаследовано от Control) |
RenderContents(HtmlTextWriter) |
Выводит содержимое элемента управления в заданный модуль записи. Этот метод используется в основном разработчиками элементов управления. (Унаследовано от WebControl) |
RenderControl(HtmlTextWriter) |
Выводит содержимое серверного элемента управления в указанный объект HtmlTextWriter и сохраняет сведения о трассировке элемента управления, если трассировка включена. (Унаследовано от Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Выводит серверный элемент управления в указанный объект HtmlTextWriter, используя указанный объект ControlAdapter. (Унаследовано от Control) |
RenderEndTag(HtmlTextWriter) |
Отображает закрывающий HTML-тег элемента управления Panel в указанное средство записи. (Унаследовано от Panel) |
ResolveAdapter() |
Возвращает адаптер элемента управления, отвечающий за отрисовку определенного элемента управления. (Унаследовано от Control) |
ResolveClientUrl(String) |
Возвращает URL-адрес, который может использоваться браузером. (Унаследовано от Control) |
ResolveUrl(String) |
Преобразует URL-адрес в адрес, доступный для клиента. (Унаследовано от Control) |
SaveControlState() |
Сохраняет любые изменения состояния серверного элемента управления, произошедшие после отправки страницы обратно на сервер. (Унаследовано от Control) |
SaveViewState() |
Сохраняет любое состояние, которое было изменено после вызова метода TrackViewState(). (Унаследовано от WebControl) |
SetDesignModeState(IDictionary) |
Задает данные времени разработки для элемента управления. (Унаследовано от CatalogPart) |
SetRenderMethodDelegate(RenderMethod) |
Назначает делегата обработчика событий для преобразования серверного элемента управления и его содержимого для просмотра в родительский элемент управления. (Унаследовано от Control) |
SetTraceData(Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
SetTraceData(Object, 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) |
Методы расширения
FindDataSourceControl(Control) |
Возвращает источник данных, связанный с элементом управления данными, для заданного элемента управления. |
FindFieldTemplate(Control, String) |
Возвращает шаблон поля для заданного столбца в контейнере именования заданного элемента управления. |
FindMetaTable(Control) |
Возвращает объект метатаблицы для контейнерного элемента управления данными. |
GetDefaultValues(INamingContainer) |
Получает коллекцию значений по умолчанию для заданного элемента управления данными. |
GetMetaTable(INamingContainer) |
Получает метаданные таблицы для заданного элемента управления данными. |
SetMetaTable(INamingContainer, MetaTable) |
Задает метаданные таблицы для заданного элемента управления данными. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Задает метаданные таблицы и преобразование значений по умолчанию для заданного элемента управления данными. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Задает метаданные таблицы и преобразование значений по умолчанию для заданного элемента управления данными. |
TryGetMetaTable(INamingContainer, MetaTable) |
Определяет, доступны ли метаданные таблицы. |
EnableDynamicData(INamingContainer, Type) |
Включает поведение платформы динамических данных для указанного элемента управления данными. |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Включает поведение платформы динамических данных для указанного элемента управления данными. |
EnableDynamicData(INamingContainer, Type, Object) |
Включает поведение платформы динамических данных для указанного элемента управления данными. |