CatalogZoneBase 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
카탈로그 역할을 하는 모든 영역 컨트롤에 대한 기본 클래스로 사용됩니다. 카탈로그는 사용자가 웹 페이지에 추가할 수 있는 WebPart 컨트롤의 목록을 포함합니다.
public ref class CatalogZoneBase abstract : System::Web::UI::WebControls::WebParts::ToolZone, System::Web::UI::IPostBackDataHandler
public abstract class CatalogZoneBase : System.Web.UI.WebControls.WebParts.ToolZone, System.Web.UI.IPostBackDataHandler
type CatalogZoneBase = class
inherit ToolZone
interface IPostBackDataHandler
Public MustInherit Class CatalogZoneBase
Inherits ToolZone
Implements IPostBackDataHandler
- 상속
- 파생
- 구현
예제
다음 코드 예제에서는 여러 선언적 및 프로그래밍 방식으로 사용 된 CatalogZoneBase 클래스입니다. 클래스는 추상이므로 코드 예제에서는 웹 파트 컨트롤 집합과 함께 제공되는 파생 CatalogZone 클래스를 사용하여 클래스에서 상속하는 속성과 메서드를 CatalogZoneBase 보여 줍니다.
코드 예제에는 네 부분으로 구성됩니다.
웹 페이지의 디스플레이 모드를 변경할 수 있게 해 주는 사용자 정의 컨트롤입니다.
컨트롤에 대한 참조 CatalogZone 가 포함된 웹 페이지와 일부 키 CatalogZoneBase 클래스 멤버의 사용을 보여 주는 일부 코드입니다.
사용자 지정 WebPart 컨트롤에 추가되는 사용자 지정 CatalogZone 컨트롤입니다.
예제가 브라우저에서 작동하는 방식에 대한 설명입니다.
이 코드 예제의 첫 번째 부분은 페이지에서 표시 모드를 변경할 수 있는 사용자 컨트롤입니다. 표시 모드 및 이 컨트롤의 소스 코드에 대한 설명에 대한 자세한 내용은 연습: 웹 파트 페이지에서 디스플레이 모드 변경을 참조하세요.
<%@ 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>
코드 예제의 두 번째 부분은 컨트롤에 대한 선언적 참조를 포함하는 웹 페이지입니다 CatalogZone . 페이지 맨 위에는 두 개의 Register
지시문이 있습니다. 하나는 사용자 정의 컨트롤에 대한 지시문이고, 다른 하나는 사용자 지정 WebPart 컨트롤에 대한 지시문입니다. 아래 <asp:WebPartZone>
요소는 사용자 지정 WebPart 컨트롤 및 ASP.NET Calendar 컨트롤에 대한 선언적 참조를 <asp: CatalogZone>
포함하는 요소입니다. 영역에는 모양과 동작을 결정하기 위해 다양한 태그와 속성이 설정되어 있습니다.
<script>
페이지의 태그 사이에는 다양한 이벤트 처리 코드가 있으며, 대부분은 멤버의 CatalogZoneBase 다양한 프로그래밍 방식 사용을 보여 줍니다.
<%@ page language="c#" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="DisplayModeMenucs.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls"
Assembly="TextDisplayWebPartCS" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
WebPartManager manager;
protected void WebPartManager1_DisplayModeChanged(object sender,
WebPartDisplayModeEventArgs e)
{
if (e.OldDisplayMode.Name != "Catalog")
Panel1.Visible = true;
else
Panel1.Visible = false;
}
// <snippet3>
protected void Button1_Click(object sender, EventArgs e)
{
if (CatalogZone1.AddVerb.Enabled)
{
CatalogZone1.AddVerb.Enabled = false;
CatalogZone1.CloseVerb.Enabled = false;
}
else
{
CatalogZone1.AddVerb.Enabled = true;
CatalogZone1.CloseVerb.Enabled = true;
}
}
// </snippet3>
// <snippet4>
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "<h3>CatalogPart List</h3>";
foreach(CatalogPart part in CatalogZone1.CatalogParts)
{
Label1.Text += part.ID + "<br />";
}
}
// </snippet4>
// <snippet5>
protected void Button3_Click(object sender, EventArgs e)
{
CatalogZone1.SelectTargetZoneText = "Add to zone";
CatalogZone1.EmptyZoneText = "Zone is empty";
CatalogZone1.HeaderText = "My Updated Header";
CatalogZone1.InstructionText = "My Updated Instructions";
}
// </snippet5>
// <snippet6>
protected void Button4_Click(object sender, EventArgs e)
{
Label1.Text = CatalogZone1.SelectedCatalogPartID;
}
// </snippet6>
// <snippet7>
protected void Button5_Click(object sender, EventArgs e)
{
CatalogZone1.PartLinkStyle.ForeColor = System.Drawing.Color.Red;
CatalogZone1.SelectedPartLinkStyle.ForeColor =
System.Drawing.Color.Blue;
}
// </snippet7>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>
CatalogZoneBase Example
</title>
</head>
<body>
<form id="form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server"
OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
<uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
<asp:webpartzone id="zone1" runat="server">
<zonetemplate>
<asp:BulletedList
ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links" >
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:webpartzone>
<asp:CatalogZone ID="CatalogZone1" runat="server"
EmptyZoneText="No controls are in the zone."
HeaderText="My Web Parts Catalog"
InstructionText="Add Web Parts controls to the zone."
PartLinkStyle-Font-Italic="true"
SelectedPartLinkStyle-Font-Bold="true"
SelectTargetZoneText="Select zone"
AddVerb-Text="Add Control"
CloseVerb-Description="Close and return to browse mode."
SelectedCatalogPartID="Currently Selected CatalogPart ID.">
<ZoneTemplate>
<asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"
runat="server">
<WebPartsTemplate>
<aspSample:TextDisplayWebPart
runat="server"
id="textwebpart"
title = "Text Content WebPart"
ExportMode="All"/>
<asp:Calendar id="calendar1" runat="server"
Title="My Calendar" />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
<asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
<asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server" />
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:CatalogZone ID="CatalogZone2" runat="server"
BorderWidth="2"
HeaderText="My Empty CatalogZone"
EmptyZoneText="No controls are in the zone." />
<hr />
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:Button ID="Button1" runat="server" Width="200"
Text="Enable or Disable Verbs"
OnClick="Button1_Click" />
<br />
<asp:Button ID="Button2" runat="server" Width="200"
Text="List CatalogParts" OnClick="Button2_Click" />
<br />
<asp:Button ID="Button3" runat="server" Width="200"
Text="Set Zone Text Properties" OnClick="Button3_Click" />
<br />
<asp:Button ID="Button4" runat="server" Width="200"
Text="Show Selected CatalogPart ID" OnClick="Button4_Click" />
<br />
<asp:Button ID="Button5" runat="server" Width="200"
Text="Change Part Link Styles" OnClick="Button5_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text="" /></asp:Panel>
</form>
</body>
</html>
<%@ page language="vb" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="DisplayModeMenuvb.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls"
Assembly="TextDisplayWebPartVB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim manager As WebPartManager
Protected Sub WebPartManager1_DisplayModeChanged(ByVal sender _
As Object, ByVal e As WebPartDisplayModeEventArgs)
If e.OldDisplayMode.Name <> "Catalog" Then
Panel1.Visible = True
Else
Panel1.Visible = False
End If
End Sub
' <snippet3>
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
If CatalogZone1.AddVerb.Enabled Then
CatalogZone1.AddVerb.Enabled = False
CatalogZone1.CloseVerb.Enabled = False
Else
CatalogZone1.AddVerb.Enabled = True
CatalogZone1.CloseVerb.Enabled = True
End If
End Sub
' </snippet3>
' <snippet4>
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As EventArgs)
Label1.Text = "<h3>CatalogPart List</h3>"
Dim part As CatalogPart
For Each part In CatalogZone1.CatalogParts
Label1.Text += part.ID + "<br />"
Next part
End Sub
' </snippet4>
' <snippet5>
Protected Sub Button3_Click(ByVal sender As Object, _
ByVal e As EventArgs)
CatalogZone1.SelectTargetZoneText = "Add to zone"
CatalogZone1.EmptyZoneText = "Zone is empty"
CatalogZone1.HeaderText = "My Updated Header"
CatalogZone1.InstructionText = "My Updated Instructions"
End Sub
' </snippet5>
' <snippet6>
Protected Sub Button4_Click(ByVal sender As Object, _
ByVal e As EventArgs)
Label1.Text = CatalogZone1.SelectedCatalogPartID
End Sub
' </snippet6>
' <snippet7>
Protected Sub Button5_Click(ByVal sender As Object, _
ByVal e As EventArgs)
CatalogZone1.PartLinkStyle.ForeColor = _
System.Drawing.Color.Red
CatalogZone1.SelectedPartLinkStyle.ForeColor = _
System.Drawing.Color.Blue
End Sub
' </snippet7>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>
CatalogZoneBase Example
</title>
</head>
<body>
<form id="form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server"
OnDisplayModeChanged="WebPartManager1_DisplayModeChanged" />
<uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
<asp:webpartzone id="zone1" runat="server">
<zonetemplate>
<asp:BulletedList
ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links" >
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:webpartzone>
<asp:CatalogZone ID="CatalogZone1" runat="server"
EmptyZoneText="No controls are in the zone."
HeaderText="My Web Parts Catalog"
InstructionText="Add Web Parts controls to the zone."
PartLinkStyle-Font-Italic="true"
SelectedPartLinkStyle-Font-Bold="true"
SelectTargetZoneText="Select zone"
AddVerb-Text="Add Control"
CloseVerb-Description="Close and return to browse mode."
SelectedCatalogPartID="Currently Selected CatalogPart ID.">
<ZoneTemplate>
<asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"
runat="server">
<WebPartsTemplate>
<aspSample:TextDisplayWebPart
runat="server"
id="textwebpart"
title = "Text Content WebPart"
ExportMode="All"/>
<asp:Calendar id="calendar1" runat="server"
Title="My Calendar" />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
<asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
<asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server" />
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:CatalogZone ID="CatalogZone2" runat="server"
BorderWidth="2"
HeaderText="My Empty CatalogZone"
EmptyZoneText="No controls are in the zone." />
<hr />
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:Button ID="Button1" runat="server" Width="200"
Text="Enable or Disable Verbs"
OnClick="Button1_Click" />
<br />
<asp:Button ID="Button2" runat="server" Width="200"
Text="List CatalogParts" OnClick="Button2_Click" />
<br />
<asp:Button ID="Button3" runat="server" Width="200"
Text="Set Zone Text Properties" OnClick="Button3_Click" />
<br />
<asp:Button ID="Button4" runat="server" Width="200"
Text="Show Selected CatalogPart ID" OnClick="Button4_Click" />
<br />
<asp:Button ID="Button5" runat="server" Width="200"
Text="Change Part Link Styles" OnClick="Button5_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text="" /></asp:Panel>
</form>
</body>
</html>
코드 예제의 세 번째 부분은 라는 TextDisplayWebPart
사용자 지정 WebPart 컨트롤입니다. 영역 내에서 선언되며 최종 사용자는 카탈로그에서 페이지로 추가할 수 있습니다. 코드 예제를 실행하려면 이 소스 코드를 컴파일해야 합니다. 명시적으로 컴파일하고 결과 어셈블리를 웹 사이트의 Bin 폴더 또는 전역 어셈블리 캐시에 넣을 수 있습니다. 또는 런타임에 동적으로 컴파일되는 사이트의 App_Code 폴더에 소스 코드를 배치할 수 있습니다. 두 컴파일 방법 모두에 대한 데모는 연습: 사용자 지정 웹 서버 컨트롤 개발 및 사용을 참조하세요.
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 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 = 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 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 input.Text <> String.Empty Then
_contentText = input.Text + "<br />"
input.Text = String.Empty
DisplayContent.Text = Me.ContentText
End If
End Sub
End Class
End Namespace
코드 예제가 작동하려면 웹 파트 설명 파일을 내보낼 수 있도록 Web.config 파일에 추가해야 하는 설정이 있습니다. 이 코드 예제의 웹 페이지와 동일한 디렉터리에 Web.config 파일이 있는지 확인합니다.
<system.web>
섹션 내에서 다음 태그와 enableExport
같이 특성이 <webParts>
로 설정된 true
요소가 있는지 확인합니다.
<webParts enableExport="true">
...
</webParts>
브라우저에서 페이지를 로드할 때 드롭다운 목록 상자에서 카탈로그 를 선택하여 카탈로그 표시 모드로 전환할 수 있습니다. 카탈로그가 표시되면 카탈로그에서 페이지로 추가할 수 있는 두 개의 서버 컨트롤을 볼 수 있으며, UI에서 클래스 멤버의 선언적 및 프로그래밍 방식 사용 CatalogZoneBase 의 효과를 알 수 있습니다.
설명
CatalogZoneBase 클래스는 클래스에서 상속되는 기본 클래스입니다ToolZone. 파생 영역에 대한 기본 동작 집합을 제공합니다.
클래스는 CatalogZoneBase 사용자가 웹 페이지에 컨트롤 및 기타 서버 컨트롤을 추가할 WebPart 수 있는 고유한 UI(사용자 인터페이스)를 제공합니다. 와 같은 CatalogZone클래스에서 CatalogZoneBase 파생되는 컨트롤은 실제로 웹 페이지에 배치되는 컨트롤입니다. 사용자가 페이지에 추가할 서버 컨트롤 목록을 만드는 컨트롤이라고 CatalogPart 하는 다른 컨트롤의 컨테이너 역할을 합니다. 클래스에서 CatalogZoneBase 파생된 영역은 페이지가 카탈로그 표시 모드인 경우에만 나타날 수 있습니다.
참고
영역은 CatalogZoneBase 컨트롤만 CatalogPart 포함할 수 있으며 반대로 CatalogPart 컨트롤은 영역에만 CatalogZoneBase 상주할 수 있습니다.
카탈로그에 서버 컨트롤을 추가하는 메커니즘은 기본 CatalogPart 클래스에서 파생되는 세 가지 컨트롤 집합입니다.
제어 | 설명 |
---|---|
PageCatalogPart | 페이지에서 닫힌 컨트롤에 대한 참조를 유지 관리합니다. 이러한 컨트롤은 사용자가 다시 열 수 있습니다(페이지에 다시 추가). |
DeclarativeCatalogPart | 웹 페이지의 태그에서 웹 파트 카탈로그에 선언된 컨트롤에 대한 참조를 포함합니다. 이러한 컨트롤은 사용자가 웹 페이지에 추가할 수 있습니다. |
ImportCatalogPart | 사용자가 정의 파일을 카탈로그에 업로드하여 컨트롤을 웹 페이지에 추가할 수 있도록 UI를 제공합니다. 정의 파일은 가 있는 XML 파일입니다. 컨트롤에 대한 설정을 가져오는 WebPart 파일 이름 확장명입니다. 정의 파일을 가져오려면 먼저 컨트롤이 서버에 있어야 합니다. |
클래스에는 CatalogZoneBase 컨트롤 카탈로그를 표시하는 데 유용한 여러 속성이 WebPart 있습니다. 속성은 카탈로그에서 선택한 컨트롤을 페이지에 추가하는 동사를 참조하고 CloseVerb 속성은 AddVerb 카탈로그를 닫는 동사를 참조하고 페이지의 표시 모드를 반환하여 찾아보기 모드를 반환합니다. 속성은 CatalogParts 영역에 있는 모든 CatalogPart 컨트롤의 컬렉션을 참조합니다. , HeaderText및 와 InstructionText같은 EmptyZoneText여러 텍스트 지향 속성은 기본 속성을 재정의하여 카탈로그에 적합한 기본 텍스트를 제공합니다. 속성에는 SelectTargetZoneText 사용자가 컨트롤을 추가할 영역을 선택할 수 있는 드롭다운 목록 컨트롤과 함께 텍스트가 포함됩니다.
다른 여러 속성이 클래스에 CatalogZoneBase 포함됩니다. 속성은 SelectedCatalogPartID 현재 선택한 CatalogPart 컨트롤에 대한 고유 문자열 식별자입니다. 속성은 ShowCatalogIcons 컨트롤에서 속성을 WebPart 설정하여 컨트롤과 연결할 수 있는 아이콘을 CatalogIconImageUrl 표시할지 여부를 나타냅니다.
속성은 PartLinkStyle 현재 영역에서 선택 되지 않은 컨트롤에 CatalogPart 대 한 링크에 대 한 스타일 특성을 포함 합니다. 반면, SelectedPartLinkStyle 속성에는 사용자가 영역에서 현재 선택한 컨트롤에 CatalogPart 대한 링크에 대한 스타일 특성이 포함되어 있습니다.
속성 외에도 클래스에는 컨트롤 카탈로그를 처리하기 위해 고유하게 설계된 다른 기본 컨트롤에서 상속된 표준 이벤트 처리 및 렌더링 메서드 외에도 몇 가지 CatalogZoneBase 메서드가 있습니다. 메서드는 CreateCatalogPartChrome 영역의 각 CatalogPart 컨트롤을 둘러싸고 컨트롤에 대한 렌더링을 처리하는 크롬(테두리, 동사, 아이콘 및 제목과 같은 주변 UI 요소)을 만듭니다. 메서드는 CreateCatalogParts 추상 메서드입니다. 파생 클래스는 이 메서드를 재정의하여 영역에 포함된 모든 컨트롤의 CatalogPart 인스턴스를 만듭니다. 메서드는 InvalidateCatalogParts 파생된 클래스에서 호출할 수 있습니다는 경우에 컨트롤의 CatalogPart 컬렉션이 일부 프로그래밍 방식으로 변경 되 고 파생된 클래스 컬렉션을 다시 만들어야 합니다. 메서드는 LoadPostData 페이지가 서버에 다시 게시될 WebPart 때마다 카탈로그의 컨트롤 옆에 있는 확인란의 기존 상태를 로드합니다. 반대로 SaveControlState 메서드는 확인란의 상태를 저장합니다. 마지막으로 메서드는 RenderCatalogPartLinks 영역에 포함된 각 CatalogPart 컨트롤에 대한 링크에 대한 모든 렌더링을 제공합니다.
구현자 참고
호스팅 CatalogPart 컨트롤에 대한 사용자 지정 영역을 개발하려면 영역 템플릿 지원을 제공할지 여부를 결정해야 합니다. 영역 템플릿은 인터페이스를 구현 ITemplate 하는 형식에 의해 생성되며, 사용자 지정 영역을 사용하여 페이지 개발자가 웹 페이지의 선언적 태그에서 영역 내의 컨트롤을 참조 CatalogPart 하도록 설정하려는 경우에 필요합니다. 영역 템플릿 지원이 필요한 경우 클래스에서 CatalogZone 상속해야 합니다. 반면, 사용자 지정 영역 및 해당 CatalogPart 컨트롤이 자체 포함되고 페이지 개발자가 영역 템플릿에서 선언적으로 컨트롤을 지정할 수 있는 옵션 없이 프로그래밍 방식으로 만들어지는 경우 클래스에서 CatalogZoneBase 직접 상속할 수 있습니다. 클래스에서 상속하는 경우 메서드를 CatalogZoneBase 재정의 CreateCatalogParts() 하고 카탈로그 CatalogPartCollection 에서 WebPart 원하는 또는 다른 서버 컨트롤을 개체에 추가해야 합니다.
생성자
CatalogZoneBase() |
상속된 클래스 인스턴스에 사용할 수 있도록 클래스를 초기화합니다. 이 생성자는 상속된 클래스에서만 호출될 수 있습니다. |
속성
AccessKey |
웹 서버 컨트롤을 빠르게 탐색할 수 있는 선택키를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
Adapter |
컨트롤에 대한 브라우저별 어댑터를 가져옵니다. (다음에서 상속됨 Control) |
AddVerb |
최종 사용자가 카탈로그의 컨트롤을 웹 파트 페이지에 추가하는 데 사용할 수 있는 WebPartVerb 개체에 대한 참조를 가져옵니다. |
AppRelativeTemplateSourceDirectory |
이 컨트롤이 포함된 Page 또는 UserControl 개체의 애플리케이션 상대 가상 디렉터리를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
AssociatedDisplayModes |
특정 WebPartDisplayMode 영역에 연결된 ToolZone 개체의 컬렉션을 가져옵니다. (다음에서 상속됨 ToolZone) |
Attributes |
컨트롤의 속성과 일치하지 않는 임의의 특성(렌더링하는 경우에만 해당)의 컬렉션을 가져옵니다. (다음에서 상속됨 WebControl) |
BackColor |
웹 서버 컨트롤의 배경색을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
BackImageUrl |
영역의 배경 이미지 URL을 가져오거나 설정합니다. (다음에서 상속됨 WebZone) |
BindingContainer |
이 컨트롤의 데이터 바인딩이 포함된 컨트롤을 가져옵니다. (다음에서 상속됨 Control) |
BorderColor |
웹 컨트롤의 테두리 색을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
BorderStyle |
웹 서버 컨트롤의 테두리 스타일을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
BorderWidth |
웹 서버 컨트롤의 테두리 너비를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
CatalogPartChrome |
CatalogPartChrome 영역과 연결된 CatalogZoneBase 클래스의 인스턴스에 대한 참조를 가져옵니다. |
CatalogParts |
CatalogPart 영역에 포함된 모든 CatalogZoneBase 컨트롤의 컬렉션을 가져옵니다. |
ChildControlsCreated |
서버 컨트롤의 자식 컨트롤이 만들어졌는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ClientID |
ASP.NET에서 생성하는 HTML 태그의 컨트롤 ID를 가져옵니다. (다음에서 상속됨 Control) |
ClientIDMode |
ClientID 속성의 값을 생성하는 데 사용되는 알고리즘을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ClientIDSeparator |
ClientID 속성에 사용된 구분 문자를 나타내는 문자 값을 가져옵니다. (다음에서 상속됨 Control) |
CloseVerb |
최종 사용자가 카탈로그 UI(사용자 인터페이스)를 닫고 페이지를 표준 찾아보기 모드로 되돌리는 데 사용할 수 있는 WebPartVerb 개체에 대한 참조를 가져옵니다. |
Context |
현재 웹 요청에 대한 서버 컨트롤과 관련된 HttpContext 개체를 가져옵니다. (다음에서 상속됨 Control) |
Controls |
ControlCollection에서 자식 컨트롤을 나타내는 CompositeControl 개체를 가져옵니다. (다음에서 상속됨 CompositeControl) |
ControlStyle |
웹 서버 컨트롤의 스타일을 가져옵니다. 이 속성은 주로 컨트롤 개발자가 사용합니다. (다음에서 상속됨 WebControl) |
ControlStyleCreated |
Style 개체가 ControlStyle 속성에 대해 만들어졌는지 여부를 나타내는 값을 가져옵니다. 이 속성은 주로 컨트롤 개발자가 사용합니다. (다음에서 상속됨 WebControl) |
CssClass |
클라이언트의 웹 서버 컨트롤에서 렌더링한 CSS 스타일시트 클래스를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
DataItemContainer |
명명 컨테이너가 IDataItemContainer를 구현할 경우 명명 컨테이너에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
DataKeysContainer |
명명 컨테이너가 IDataKeysControl를 구현할 경우 명명 컨테이너에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
DesignMode |
디자인 화면에서 컨트롤이 사용 중인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
Display |
ToolZone 컨트롤이 현재 표시되는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 ToolZone) |
EditUIStyle |
ToolZone 컨트롤에 포함된 편집 가능한 컨트롤에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 ToolZone) |
EmptyZoneText |
영역에 컨트롤이 없는 경우 표시되는 메시지를 가져오거나 설정합니다. |
EmptyZoneTextStyle |
빈 영역의 자리 표시자 텍스트에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 WebZone) |
Enabled |
웹 서버 컨트롤이 활성화되어 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
EnableTheming |
이 컨트롤에 테마를 적용할지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
EnableViewState |
서버 컨트롤이 해당 뷰 상태와 포함하고 있는 모든 자식 컨트롤의 뷰 상태를, 요청하는 클라이언트까지 유지하는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ErrorStyle |
WebPart 컨트롤을 로드하거나 만들 수 없는 경우 표시되는 오류 메시지를 렌더링하기 위한 스타일 특성을 가져옵니다. (다음에서 상속됨 WebZone) |
Events |
컨트롤에 대한 이벤트 처리기 대리자의 목록을 가져옵니다. 이 속성은 읽기 전용입니다. (다음에서 상속됨 Control) |
Font |
웹 서버 컨트롤과 연결된 글꼴 속성을 가져옵니다. (다음에서 상속됨 WebControl) |
FooterStyle |
영역의 바닥글 내용에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 WebZone) |
ForeColor |
웹 서버 컨트롤의 전경색(보통 텍스트 색)을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
HasAttributes |
컨트롤에 특성 집합이 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 WebControl) |
HasChildViewState |
현재 서버 컨트롤의 자식 컨트롤에 저장된 뷰 상태 설정 값이 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
HasFooter |
영역에 바닥글 영역이 있는지 나타내는 값을 가져옵니다. (다음에서 상속됨 WebZone) |
HasHeader |
영역에 머리글 영역이 있는지 나타내는 값을 가져옵니다. (다음에서 상속됨 WebZone) |
HeaderCloseVerb |
컨트롤을 닫는 데 사용되는 WebPartVerb 컨트롤의 머리글에서 ToolZone 개체에 대한 참조를 가져옵니다. (다음에서 상속됨 ToolZone) |
HeaderStyle |
영역의 머리글 내용에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 WebZone) |
HeaderText |
영역의 머리글 영역에 대한 텍스트를 가져오거나 설정합니다. |
HeaderVerbStyle |
ToolZone 컨트롤에 표시되는 모든 머리글 동사에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 ToolZone) |
Height |
웹 서버 컨트롤의 높이를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
ID |
서버 컨트롤에 할당된 프로그래밍 ID를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
IdSeparator |
컨트롤 식별자를 구분하는 데 사용되는 문자를 가져옵니다. (다음에서 상속됨 Control) |
InstructionText |
최종 사용자에 대한 지침을 제공하는 영역의 텍스트를 가져오거나 설정합니다. |
InstructionTextStyle |
ToolZone 컨트롤의 맨 위에 나타나는 지침 텍스트에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 ToolZone) |
IsChildControlStateCleared |
이 컨트롤에 포함된 컨트롤이 컨트롤 상태를 가지는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsEnabled |
컨트롤을 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 WebControl) |
IsTrackingViewState |
서버 컨트롤에서 해당 뷰 상태의 변경 사항을 저장하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsViewStateEnabled |
이 컨트롤의 뷰 상태를 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
LabelStyle |
ToolZone 컨트롤 내에서 편집 컨트롤과 함께 나타나는 레이블의 내용에 대한 스타일 특성을 가져옵니다. ToolZone 및 CatalogZone 등 파생된 EditorZone 컨트롤은 이 스타일을 레이블에 적용합니다. (다음에서 상속됨 ToolZone) |
LoadViewStateByID |
인덱스 대신 ID별로 뷰 상태를 로드할 때 컨트롤이 참여하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
NamingContainer |
동일한 ID 속성 값을 사용하는 서버 컨트롤을 구별하기 위해 고유의 네임스페이스를 만드는 서버 컨트롤의 명명 컨테이너에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
Padding |
영역에서 WebPart 컨트롤이 포함된 테이블에 대한 셀 안쪽 여백 특성을 가져오거나 설정합니다. (다음에서 상속됨 WebZone) |
Page |
서버 컨트롤이 들어 있는 Page 인스턴스에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
Parent |
페이지 컨트롤 계층 구조에서 서버 컨트롤의 부모 컨트롤에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
PartChromePadding |
WebPart 컨트롤의 내용과 컨트롤 테두리 사이의 거리를 가져오거나 설정합니다. (다음에서 상속됨 WebZone) |
PartChromeStyle |
영역에 포함된 웹 파트 컨트롤의 테두리에 적용되는 스타일 특징을 가져옵니다. (다음에서 상속됨 WebZone) |
PartChromeType |
영역에 포함된 웹 파트 컨트롤의 프레임이 되는 테두리의 형태를 가져오거나 설정합니다. (다음에서 상속됨 WebZone) |
PartLinkStyle |
영역에서 현재 선택되지 않은 CatalogPart 컨트롤에 적용할 스타일 특성이 포함된 개체를 가져옵니다. |
PartStyle |
영역에 포함된 각 웹 파트 컨트롤의 테두리와 내용에 적용되는 스타일 특징을 가져옵니다. (다음에서 상속됨 WebZone) |
PartTitleStyle |
영역에 포함된 각 웹 파트 컨트롤에 대한 제목 표시줄 내용에 적용할 스타일 특성을 가져옵니다. (다음에서 상속됨 WebZone) |
RenderClientScript |
웹 파트 페이지에서 클라이언트 스크립트를 렌더링할지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 WebZone) |
RenderingCompatibility |
렌더링된 HTML이 호환될 ASP.NET 버전을 지정하는 값을 가져옵니다. (다음에서 상속됨 Control) |
SelectedCatalogPartID |
영역에서 현재 선택된 CatalogPart 컨트롤의 식별자로 사용되는 문자열을 가져오거나 설정합니다. |
SelectedPartLinkStyle |
영역에서 현재 선택된 CatalogPart 컨트롤에 적용할 스타일 특성이 포함된 개체를 가져옵니다. |
SelectTargetZoneText |
사용자가 선택된 컨트롤을 추가할 영역을 선택할 수 있는 카탈로그 UI(사용자 인터페이스)에 컨트롤과 함께 표시되는 텍스트를 가져오거나 설정합니다. |
ShowCatalogIcons |
카탈로그의 서버 컨트롤이 관련 아이콘을 카탈로그에 표시하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
Site |
디자인 화면에서 렌더링될 때 현재 컨트롤을 호스팅하는 컨테이너 관련 정보를 가져옵니다. (다음에서 상속됨 Control) |
SkinID |
컨트롤에 적용할 스킨을 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
Style |
웹 서버 컨트롤의 외부 태그에서 스타일 특성으로 렌더링할 텍스트 특성의 컬렉션을 가져옵니다. (다음에서 상속됨 WebControl) |
SupportsDisabledAttribute |
컨트롤의 IsEnabled 속성이 |
TabIndex |
웹 서버 컨트롤의 탭 인덱스를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
TagKey |
이 웹 서버 컨트롤에 해당하는 HtmlTextWriterTag 값을 가져옵니다. 이 속성은 주로 컨트롤 개발자가 사용합니다. (다음에서 상속됨 WebZone) |
TagName |
컨트롤 태그의 이름을 가져옵니다. 이 속성은 주로 컨트롤 개발자가 사용합니다. (다음에서 상속됨 WebControl) |
TemplateControl |
이 컨트롤이 포함된 템플릿의 참조를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
TemplateSourceDirectory |
Page 또는 현재 서버 컨트롤이 들어 있는 UserControl의 가상 디렉터리를 가져옵니다. (다음에서 상속됨 Control) |
ToolTip |
마우스 포인터를 웹 서버 컨트롤 위로 가져갈 때 표시되는 텍스트를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
UniqueID |
서버 컨트롤에 대해 계층적으로 정규화된 고유 식별자를 가져옵니다. (다음에서 상속됨 Control) |
ValidateRequestMode |
잠재적으로 위험한 값이 있는지 확인하기 위해 컨트롤에서 브라우저의 클라이언트 입력을 검사하는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
VerbButtonType |
영역에서 동사를 표현하는 데 사용되는 단추 종류를 가져오거나 설정합니다. (다음에서 상속됨 WebZone) |
VerbStyle |
영역의 웹 파트 컨트롤에 연결된 UI(사용자 인터페이스) 동사에 대한 스타일 특성을 가져옵니다. (다음에서 상속됨 WebZone) |
ViewState |
같은 페이지에 대한 여러 개의 요청 전반에 서버 컨트롤의 뷰 상태를 저장하고 복원할 수 있도록 하는 상태 정보 사전을 가져옵니다. (다음에서 상속됨 Control) |
ViewStateIgnoresCase |
StateBag 개체가 대/소문자를 구분하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ViewStateMode |
이 컨트롤의 뷰 상태 모드를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Visible |
페이지에서 서버 컨트롤이 UI(사용자 인터페이스) 요소로 렌더링되는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 ToolZone) |
WebPartManager |
웹 파트 페이지에서 WebPartManager 컨트롤에 연결된 WebZone 컨트롤에 대한 참조를 가져옵니다. (다음에서 상속됨 WebZone) |
Width |
웹 서버 컨트롤의 너비를 가져오거나 설정합니다. (다음에서 상속됨 WebControl) |
메서드
AddAttributesToRender(HtmlTextWriter) |
지정된 HtmlTextWriterTag에 렌더링되어야 하는 HTML 특성 및 스타일을 추가합니다. 이 메서드는 주로 컨트롤 개발자에 의해 사용됩니다. (다음에서 상속됨 WebControl) |
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) |
Close() |
웹 페이지를 카탈로그 디스플레이 모드에서 표준 찾아보기 모드로 전환합니다. |
CopyBaseAttributes(WebControl) |
Style 개체에 캡슐화하지 않은 속성을 지정된 웹 서버 컨트롤에서 이 메서드가 호출된 원본 웹 서버 컨트롤에 복사합니다. 이 메서드는 주로 컨트롤 개발자에 의해 사용됩니다. (다음에서 상속됨 WebControl) |
CreateCatalogPartChrome() |
영역에 있는 CatalogPartChrome 컨트롤의 주변 UI(사용자 인터페이스) 요소를 렌더링하는 데 사용되는 CatalogPart 개체의 인스턴스를 만듭니다. |
CreateCatalogParts() |
영역에 포함된 CatalogPart 컨트롤 작성의 세부 사항을 처리하기 위해 파생 영역에서 재정의할 수 있는 기본 메서드 선언을 제공합니다. |
CreateChildControls() |
CatalogZoneBase 영역과 관련된 자식 컨트롤 집합을 만듭니다. |
CreateControlCollection() |
서버 컨트롤의 자식 컨트롤(리터럴 및 서버)을 보유할 새 ControlCollection 개체를 만듭니다. (다음에서 상속됨 Control) |
CreateControlStyle() |
WebControl 클래스에서 모든 스타일 관련 속성을 구현하기 위해 내부적으로 사용되는 스타일 개체를 만듭니다. 이 메서드는 주로 컨트롤 개발자에 의해 사용됩니다. (다음에서 상속됨 WebControl) |
DataBind() |
CompositeControl과 그 자식 컨트롤 모두에 데이터 소스를 바인딩합니다. (다음에서 상속됨 CompositeControl) |
DataBind(Boolean) |
DataBinding 이벤트를 발생시키는 옵션을 사용하여, 호출된 서버 컨트롤과 모든 자식 컨트롤에 데이터 소스를 바인딩합니다. (다음에서 상속됨 Control) |
DataBindChildren() |
데이터 소스를 서버 컨트롤의 자식 컨트롤에 바인딩합니다. (다음에서 상속됨 Control) |
Dispose() |
서버 컨트롤이 메모리에서 해제되기 전에 해당 서버 컨트롤에서 최종 정리 작업을 수행하도록 합니다. (다음에서 상속됨 Control) |
EndRenderTracing(TextWriter, Object) |
렌더링 데이터의 디자인 타임 추적을 종료합니다. (다음에서 상속됨 Control) |
EnsureChildControls() |
서버 컨트롤에 자식 컨트롤이 있는지 확인합니다. 서버 컨트롤에 자식 컨트롤이 없으면 자식 컨트롤을 만듭니다. (다음에서 상속됨 Control) |
EnsureID() |
ID가 할당되지 않은 컨트롤의 ID를 만듭니다. (다음에서 상속됨 Control) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
FindControl(String) |
지정된 |
FindControl(String, Int32) |
현재 명명 컨테이너에서 특정 |
Focus() |
컨트롤에 입력 포커스를 설정합니다. (다음에서 상속됨 Control) |
GetDesignModeState() |
컨트롤의 디자인 타임 데이터를 가져옵니다. (다음에서 상속됨 Control) |
GetEffectiveChromeType(Part) |
영역의 PartChromeType 속성과 웹 파트 페이지의 현재 디스플레이 모드가 주어진 경우 WebPart 컨트롤의 실제 적용되거나 유효한 현재 PartChromeType 값을 반환합니다. (다음에서 상속됨 WebZone) |
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) |
HasControls() |
서버 컨트롤에 자식 컨트롤이 있는지 확인합니다. (다음에서 상속됨 Control) |
HasEvents() |
이벤트가 컨트롤이나 자식 컨트롤에 등록되었는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 Control) |
InvalidateCatalogParts() |
CatalogPart 영역과 관련된 CatalogZoneBase 컨트롤의 컬렉션을 소멸합니다. |
IsLiteralContent() |
서버 컨트롤에 리터럴 내용만 저장되어 있는지 확인합니다. (다음에서 상속됨 Control) |
LoadControlState(Object) |
이전 페이지 요청에서 포스트백할 때마다 항상 유지되어야 하는 컨트롤 속성의 상태를 로드합니다. 이는 컨트롤에 뷰 상태를 사용할 수 없도록 설정된 경우에도 해당됩니다. |
LoadPostData(String, NameValueCollection) |
페이지가 서버에 포스트백될 때 카탈로그의 WebPart 컨트롤에 해당하는 확인란의 상태를 처리합니다. |
LoadViewState(Object) |
영역에 대해 이전에 저장된 상태 정보를 로드합니다. |
MapPathSecure(String) |
가상 경로(절대 또는 상대)가 매핑되는 실제 경로를 가져옵니다. (다음에서 상속됨 Control) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MergeStyle(Style) |
지정된 스타일의 비어 있지 않은 요소를 웹 컨트롤에 복사하지만 컨트롤의 기존 요소를 덮어쓰지 않습니다. 이 메서드는 주로 컨트롤 개발자에 의해 사용됩니다. (다음에서 상속됨 WebControl) |
OnBubbleEvent(Object, EventArgs) |
서버 컨트롤의 이벤트가 페이지의 UI 서버 컨트롤 계층 구조에 전달되었는지 여부를 확인합니다. (다음에서 상속됨 Control) |
OnDataBinding(EventArgs) |
DataBinding 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OnDisplayModeChanged(Object, WebPartDisplayModeEventArgs) |
파생된 ToolZone 컨트롤에서 특수 영역의 페이지 디스플레이 모드를 변경하는 데 관련된 세부 사항을 처리하기 위해 재정의할 수 있는 기본 메서드 선언을 제공합니다. (다음에서 상속됨 ToolZone) |
OnInit(EventArgs) |
페이지 개체를 컨트롤 상태가 필요한 페이지로 등록합니다. |
OnLoad(EventArgs) |
Load 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OnPreRender(EventArgs) |
PreRender 이벤트를 발생시키고 페이지 개체를 포스트백해야 하는 개체로 등록합니다. |
OnSelectedWebPartChanged(Object, WebPartEventArgs) |
파생된 ToolZone 컨트롤에서 특수 영역 내의 선택된 웹 파트 컨트롤을 변경하는 이벤트를 처리하기 위해 재정의할 수 있는 기본 메서드 선언을 제공합니다. (다음에서 상속됨 ToolZone) |
OnUnload(EventArgs) |
Unload 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OpenFile(String) |
파일을 읽는 데 사용되는 Stream을 가져옵니다. (다음에서 상속됨 Control) |
RaiseBubbleEvent(Object, EventArgs) |
이벤트 소스와 해당 정보를 컨트롤의 부모 컨트롤에 할당합니다. (다음에서 상속됨 Control) |
RaisePostBackEvent(String) |
영역 동사 하나와 관련된 작업을 수행하거나 서버에 다시 게시되는 이벤트를 발생시킵니다. |
RecreateChildControls() |
CompositeControl에서 파생된 컨트롤의 자식 컨트롤을 다시 만듭니다. (다음에서 상속됨 CompositeControl) |
RemovedControl(Control) |
자식 컨트롤이 Control 개체의 Controls 컬렉션에서 제거된 후 호출됩니다. (다음에서 상속됨 Control) |
Render(HtmlTextWriter) |
지정된 HtmlTextWriter 개체에 대해 영역을 렌더링합니다. |
RenderBeginTag(HtmlTextWriter) |
영역 컨트롤의 여는 HTML 태그를 지정된 HtmlTextWriter 개체로 렌더링합니다. (다음에서 상속됨 WebZone) |
RenderBody(HtmlTextWriter) |
기본 메서드를 재정의하여 CatalogZoneBase 클래스에서 파생된 영역의 본문 부분을 렌더링합니다. |
RenderCatalogPartLinks(HtmlTextWriter) |
CatalogPart 영역에 있는 개별 CatalogZoneBase 컨트롤에 대한 링크를 렌더링합니다. |
RenderChildren(HtmlTextWriter) |
클라이언트에서 렌더링될 내용을 쓰는 제공된 HtmlTextWriter 개체에 서버 컨트롤 자식의 내용을 출력합니다. (다음에서 상속됨 Control) |
RenderContents(HtmlTextWriter) |
여는 태그와 닫는 태그 사이에 있는 영역 컨트롤의 내용 전체를 지정된 HtmlTextWriter 개체로 렌더링합니다. (다음에서 상속됨 WebZone) |
RenderControl(HtmlTextWriter) |
제공된 HtmlTextWriter 개체로 서버 컨트롤 콘텐츠를 출력하고 추적을 사용하는 경우 컨트롤에 대한 추적 정보를 저장합니다. (다음에서 상속됨 Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
제공된 HtmlTextWriter 개체를 사용하여 제공된 ControlAdapter 개체에 서버 컨트롤 콘텐츠를 출력합니다. (다음에서 상속됨 Control) |
RenderEndTag(HtmlTextWriter) |
지정된 작성기에 컨트롤의 HTML 닫는 태그를 렌더링합니다. 이 메서드는 주로 컨트롤 개발자에 의해 사용됩니다. (다음에서 상속됨 WebControl) |
RenderFooter(HtmlTextWriter) |
CatalogZoneBase 영역의 바닥글 부분을 렌더링합니다. |
RenderHeader(HtmlTextWriter) |
ToolZone 컨트롤에 필요한 머리글 영역에 대한 특수 렌더링을 제공하기 위해 기본 메서드를 재정의합니다. (다음에서 상속됨 ToolZone) |
RenderVerb(HtmlTextWriter, WebPartVerb) |
ToolZone 컨트롤의 개별 동사를 렌더링합니다. (다음에서 상속됨 ToolZone) |
RenderVerbs(HtmlTextWriter) |
CatalogZoneBase 영역의 바닥글 부분에 동사를 렌더링합니다. |
ResolveAdapter() |
지정된 컨트롤을 렌더링하는 컨트롤 어댑터를 가져옵니다. (다음에서 상속됨 Control) |
ResolveClientUrl(String) |
브라우저에 사용할 수 있는 URL을 가져옵니다. (다음에서 상속됨 Control) |
ResolveUrl(String) |
URL을 요청 클라이언트에서 사용할 수 있는 URL로 변환합니다. (다음에서 상속됨 Control) |
SaveControlState() |
웹 페이지가 서버에 포스트백된 후에 발생하는 CatalogZoneBase 컨트롤 상태의 변경 내용을 저장합니다. |
SaveViewState() |
페이지가 서버에 게시된 이후 발생한 뷰 상태의 변경을 저장합니다. |
SetDesignModeState(IDictionary) |
컨트롤에 대한 디자인 타임 데이터를 설정합니다. (다음에서 상속됨 Control) |
SetRenderMethodDelegate(RenderMethod) |
이벤트 처리기 대리자를 할당하여 서버 컨트롤과 그 콘텐츠를 부모 컨트롤로 렌더링합니다. (다음에서 상속됨 Control) |
SetTraceData(Object, Object) |
추적 데이터 키와 추적 데이터 값을 사용하여 렌더링 데이터의 디자인 타임 추적을 위한 추적 데이터를 설정합니다. (다음에서 상속됨 Control) |
SetTraceData(Object, Object, Object) |
추적 개체, 추적 데이터 키와 추적 데이터 값을 사용하여 렌더링 데이터의 디자인 타임 추적을 위한 추적 데이터를 설정합니다. (다음에서 상속됨 Control) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
TrackViewState() |
영역 컨트롤의 뷰 상태에 대한 변경 내용을 추적합니다. |
이벤트
DataBinding |
서버 컨트롤에서 데이터 소스에 바인딩할 때 발생합니다. (다음에서 상속됨 Control) |
Disposed |
ASP.NET 페이지가 요청될 때 서버 컨트롤 주기의 마지막 단계로 서버 컨트롤이 메모리에서 해제될 때 발생합니다. (다음에서 상속됨 Control) |
Init |
서버 컨트롤 주기의 첫 단계로 서버 컨트롤을 초기화할 때 이 이벤트가 발생합니다. (다음에서 상속됨 Control) |
Load |
Page 개체에 서버 컨트롤을 로드할 때 발생합니다. (다음에서 상속됨 Control) |
PreRender |
Control 개체가 로드된 후, 렌더링 전에 발생합니다. (다음에서 상속됨 Control) |
Unload |
서버 컨트롤이 메모리에서 언로드될 때 발생합니다. (다음에서 상속됨 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) |
지정된 데이터 컨트롤에 Dynamic Data 동작을 사용하도록 설정합니다. |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
지정된 데이터 컨트롤에 Dynamic Data 동작을 사용하도록 설정합니다. |
EnableDynamicData(INamingContainer, Type, Object) |
지정된 데이터 컨트롤에 Dynamic Data 동작을 사용하도록 설정합니다. |
적용 대상
추가 정보
.NET