ProxyWebPartManager 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
콘텐츠 페이지의 연결된 마스터 페이지에서 WebPartManager 컨트롤이 선언된 경우 개발자가 콘텐츠 페이지에서 정적 연결을 선언할 수 있는 방법을 제공합니다.
public ref class ProxyWebPartManager : System::Web::UI::Control
[System.ComponentModel.Bindable(false)]
public class ProxyWebPartManager : System.Web.UI.Control
[<System.ComponentModel.Bindable(false)>]
type ProxyWebPartManager = class
inherit Control
Public Class ProxyWebPartManager
Inherits Control
- 상속
- 특성
예제
다음 코드 예제를 사용 하는 방법에 설명 합니다 ProxyWebPartManager 마스터 페이지를 사용 하는 애플리케이션의 콘텐츠 페이지에 정적 연결을 선언 하는 클래스입니다. 이 예제에는 5개의 부분이 있습니다.
페이지에서 웹 파트 표시 모드를 변경할 수 있는 사용자 컨트롤입니다.
연결에 대한 공급자 및 소비자 역할을 하는 인터페이스 및 두 컨트롤 WebPart 에 대한 소스 코드입니다.
콘텐츠 페이지를 사용자 컨트롤을 호스팅하는 마스터 웹 페이지 및 WebPartManager 애플리케이션에 대 한 제어 합니다.
컨트롤, 두 개의 사용자 지정 WebPart 컨트롤 및 두 컨트롤을 연결하는 정적 연결을 호스트 ProxyWebPartManager 하는 콘텐츠 웹 페이지입니다.
예제 페이지를 실행하는 방법에 대한 설명입니다.
이 코드 예제에 첫 번째 부분은 사용자가 웹 페이지의 디스플레이 모드를 변경할 수 있는 사용자 정의 컨트롤입니다. 다음 소스 코드를 .ascx 파일에 저장하여 호스팅 마스터 페이지의 맨 위에 있는 이 사용자 컨트롤에 대한 지시문의 Register
특성에 할당된 Src
파일 이름을 제공합니다. 표시 모드 및 이 컨트롤의 소스 코드에 대한 설명에 대한 자세한 내용은 연습: 웹 파트 페이지에서 디스플레이 모드 변경을 참조하세요.
<%@ 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>
코드 예제의 두 번째 부분은 인터페이스 및 컨트롤에 대한 소스 코드입니다. 원본 파일에는 라는 IZipCode
간단한 인터페이스가 포함되어 있습니다. 인터페이스를 WebPart 구현하고 공급자 컨트롤 역할을 하는 라는 ZipCodeWebPart
클래스도 있습니다. 해당 ProvideIZipCode
메서드는 인터페이스의 유일한 멤버를 구현하는 콜백 메서드입니다. 메서드는 단순히 인터페이스의 인스턴스를 반환합니다. 메서드는 메타데이터에 특성으로 ConnectionProvider
표시됩니다. 이는 메서드를 공급자의 연결 지점에 대한 콜백 메서드로 식별하는 메커니즘입니다. 다른 WebPart 클래스의 이름은 WeatherWebPart
이며 연결에 대한 소비자 역할을 합니다. 이 클래스에는 공급자 컨트롤에서 인터페이스의 인스턴스를 IZipCode
가져오는 라는 GetZipCode
메서드가 있습니다. 이 메서드는 해당 메타데이터에 특성이 있는 소비자의 연결 지점 메서드로 ConnectionConsumer
표시됩니다.
코드 예제를 실행하려면 이 소스 코드를 컴파일해야 합니다. 명시적으로 컴파일하고 결과 어셈블리를 웹 사이트의 Bin 폴더 또는 전역 어셈블리 캐시에 넣을 수 있습니다. 또는 소스 코드를 사이트의 App_Code 폴더에 배치하여 런타임에 동적으로 컴파일할 수 있습니다. 이 코드 예제에서는 동적 컴파일을 사용합니다. 컴파일 방법을 보여 주는 연습은 연습: 사용자 지정 웹 서버 컨트롤 개발 및 사용을 참조하세요.
namespace Samples.AspNet.CS.Controls
{
using System;
using System.Web;
using System.Web.Security;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public interface IZipCode
{
string ZipCode { get; set;}
}
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class ZipCodeWebPart : WebPart, IZipCode
{
string zipCodeText = String.Empty;
TextBox input;
Button send;
public ZipCodeWebPart()
{
}
// Make the implemented property personalizable to save
// the Zip Code between browser sessions.
[Personalizable()]
public virtual string ZipCode
{
get { return zipCodeText; }
set { zipCodeText = value; }
}
// This is the callback method that returns the provider.
[ConnectionProvider("Zip Code Provider", "ZipCodeProvider")]
public IZipCode ProvideIZipCode()
{
return this;
}
protected override void CreateChildControls()
{
Controls.Clear();
input = new TextBox();
this.Controls.Add(input);
send = new Button();
send.Text = "Enter 5-digit Zip Code";
send.Click += new EventHandler(this.submit_Click);
this.Controls.Add(send);
}
private void submit_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(input.Text))
{
zipCodeText = Page.Server.HtmlEncode(input.Text);
input.Text = String.Empty;
}
}
}
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class WeatherWebPart : WebPart
{
private IZipCode _provider;
string _zipSearch;
Label DisplayContent;
// This method is identified by the ConnectionConsumer
// attribute, and is the mechanism for connecting with
// the provider.
[ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")]
public void GetIZipCode(IZipCode Provider)
{
_provider = Provider;
}
protected override void OnPreRender(EventArgs e)
{
EnsureChildControls();
if (this._provider != null)
{
_zipSearch = _provider.ZipCode.Trim();
DisplayContent.Text = "My Zip Code is: " + _zipSearch;
}
}
protected override void CreateChildControls()
{
Controls.Clear();
DisplayContent = new Label();
this.Controls.Add(DisplayContent);
}
}
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
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 Interface IZipCode
Property ZipCode() As String
End Interface
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class ZipCodeWebPart
Inherits WebPart
Implements IZipCode
Private zipCodeText As String = String.Empty
Private input As TextBox
Private send As Button
Public Sub New()
End Sub
' Make the implemented property personalizable to save
' the Zip Code between browser sessions.
<Personalizable()> _
Public Property ZipCode() As String _
Implements IZipCode.ZipCode
Get
Return zipCodeText
End Get
Set(ByVal value As String)
zipCodeText = value
End Set
End Property
' This is the callback method that returns the provider.
<ConnectionProvider("Zip Code Provider", "ZipCodeProvider")> _
Public Function ProvideIZipCode() As IZipCode
Return Me
End Function
Protected Overrides Sub CreateChildControls()
Controls.Clear()
input = New TextBox()
Me.Controls.Add(input)
send = New Button()
send.Text = "Enter 5-digit Zip Code"
AddHandler send.Click, AddressOf Me.submit_Click
Me.Controls.Add(send)
End Sub
Private Sub submit_Click(ByVal sender As Object, _
ByVal e As EventArgs)
If input.Text <> String.Empty Then
zipCodeText = Page.Server.HtmlEncode(input.Text)
input.Text = String.Empty
End If
End Sub
End Class
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class WeatherWebPart
Inherits WebPart
Private _provider As IZipCode
Private _zipSearch As String
Private DisplayContent As Label
' This method is identified by the ConnectionConsumer
' attribute, and is the mechanism for connecting with
' the provider.
<ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")> _
Public Sub GetIZipCode(ByVal Provider As IZipCode)
_provider = Provider
End Sub
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
EnsureChildControls()
If Not (Me._provider Is Nothing) Then
_zipSearch = _provider.ZipCode.Trim()
DisplayContent.Text = "My Zip Code is: " + _zipSearch
End If
End Sub
Protected Overrides Sub CreateChildControls()
Controls.Clear()
DisplayContent = New Label()
Me.Controls.Add(DisplayContent)
End Sub
End Class
End Namespace
코드 예제의 세 번째 부분은 마스터 페이지입니다. 다음 소스 코드를 가져와서 파일에 저장하여 MasterPageCS.master 또는 MasterPageVB.master라는 이름을 지정해야 합니다(사용하는 언어에 따라 다름). 마스터 페이지에는 사용자 컨트롤을 Register
등록하는 지시문이 포함되어 있으며 페이지 본문에서 사용자 컨트롤 자체를 참조합니다. 또한 마스터 페이지는 이 페이지 및 모든 관련 콘텐츠 페이지에 사용되는 단일 <asp:webpartmanager>
요소를 선언합니다. 마지막으로 마스터 페이지에는 <asp: contentplaceholder>
콘텐츠 페이지가 삽입되는 페이지의 지점을 선언하는 요소가 있습니다.
<%@ Master Language="C#" %>
<%@ register tagprefix="uc1"
tagname="DisplayModeMenuCS"
src="~/displaymodemenucs.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Master page with connections in content pages</title>
</head>
<body>
<h2>Contoso, Ltd.</h2>
<hr />
<form id="form1" runat="server">
<asp:webpartmanager runat="server" id="WebPartManager1" />
<uc1:displaymodemenucs id="menu1" runat="server" />
<div>
<asp:contentplaceholder id="ContentPlaceHolder1"
runat="server" />
</div>
</form>
</body>
</html>
<%@ Master Language="VB" %>
<%@ register tagprefix="uc1"
tagname="DisplayModeMenuVB"
src="~/displaymodemenuvb.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Master page with connections in content pages</title>
</head>
<body>
<h2>Contoso, Ltd.</h2>
<hr />
<form id="form1" runat="server">
<asp:webpartmanager runat="server" id="WebPartManager1" />
<uc1:displaymodemenuvb id="menu1" runat="server" />
<div>
<asp:contentplaceholder id="ContentPlaceHolder1"
runat="server" />
</div>
</form>
</body>
</html>
코드 예제의 네 번째 부분은 콘텐츠 페이지입니다. 다음 소스 코드를 복사하여 확장명 .aspx 파일에 저장해야 합니다. 해당 Page
지시문에는 MasterFile
마스터 페이지를 참조하는 특성이 포함되어 있습니다. 또한 이 페이지에는 Register
연결에 참여하는 동적으로 컴파일된 사용자 지정 WebPart 컨트롤이 포함된 App_Code 폴더에 파일을 등록하는 지시문이 있습니다.
<asp:content>
페이지의 태그 내에는 <asp:proxywebpartmanager>
자식 <staticconnections>
요소가 있는 요소가 있으며, 이 요소에는 연결의 세부 정보를 선언하는 자식 <asp:webpartconnection>
요소가 있습니다.
<script>
페이지의 Button1_Click
태그 내에서 메서드는 마스터 페이지의 주 WebPartManager 컨트롤과 콘텐츠 페이지의 컨트롤에 액세스하는 ProxyWebPartManager 일부 코드를 추가하고 해당 세부 정보 중 일부를 페이지에 씁니다.
<%@ Page Language="C#" MasterPageFile="~/MasterPageCS.master"
Title="Connections Page" %>
<%@ Register TagPrefix="aspSample"
Namespace="Samples.AspNet.CS.Controls" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
StringBuilder lblText = new StringBuilder();
if (Page.Master.FindControl("WebPartManager1") != null)
{
WebPartManager theMgr =
(WebPartManager)Page.Master.FindControl("WebPartManager1");
lblText.Append("WebPartManager: <br /><pre>" +
" Master page file is " + Page.MasterPageFile + "<br />" +
" ID is " + theMgr.ID + "<br />" +
" Connection count is " +
theMgr.StaticConnections.Count.ToString() + "<br />" +
" WebParts count is " +
theMgr.WebParts.Count.ToString() + "</pre><br />");
}
if (proxymgr1 != null)
{
lblText.Append("ProxyWebPartManager: <br /><pre>" +
" Content page file is " + Request.Path + "<br />" +
" ID is " + proxymgr1.ID + "<br />" +
" Connection count is " +
proxymgr1.StaticConnections.Count.ToString() +
"</pre><br />");
}
Literal1.Text = lblText.ToString();
}
</script>
<asp:Content ID="Content1" Runat="Server"
ContentPlaceHolderID="ContentPlaceHolder1" >
<asp:proxywebpartmanager id="proxymgr1" runat="server">
<staticconnections>
<asp:webpartconnection id="connection1"
consumerconnectionpointid="ZipCodeConsumer"
consumerid="zipConsumer"
providerconnectionpointid="ZipCodeProvider"
providerid="zipProvider" />
</staticconnections>
</asp:proxywebpartmanager>
<div>
<asp:webpartzone id="zone1" runat="server">
<zonetemplate>
<aspsample:zipcodewebpart id="zipProvider" runat="server"
title="Zip Code Provider" />
<aspsample:weatherwebpart id="zipConsumer" runat="server"
title="Zip Code Consumer" />
</zonetemplate>
</asp:webpartzone>
</div>
<div>
<asp:button id="Button1" runat="server"
text="WebPartManager Information" onclick="Button1_Click" />
<br />
</div>
<asp:connectionszone id="ConnectionsZone1" runat="server" />
<asp:literal id="Literal1" runat="server" />
</asp:Content>
<%@ Page Language="VB" MasterPageFile="~/MasterPageVB.master"
Title="Connections Page" %>
<%@ Register TagPrefix="aspSample"
Namespace="Samples.AspNet.VB.Controls" %>
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
Dim lblText As StringBuilder = New StringBuilder()
If Not (Page.Master.FindControl("WebPartManager1") Is Nothing) Then
Dim theMgr As WebPartManager = _
CType(Page.Master.FindControl("WebPartManager1"), WebPartManager)
lblText.Append("WebPartManager: <br /><pre>" & _
" Master page file is " & Page.MasterPageFile & "<br />" & _
" ID is " & theMgr.ID & "<br />" & _
" Connection count is " & _
theMgr.StaticConnections.Count.ToString() & "<br />" & _
" WebParts count is " & _
theMgr.WebParts.Count.ToString() & "</pre><br />")
End If
If Not (proxymgr1 Is Nothing) Then
lblText.Append("ProxyWebPartManager: <br /><pre>" & _
" Content page file is " & Request.Path & "<br />" & _
" ID is " & proxymgr1.ID & "<br />" & _
" Connection count is " & _
proxymgr1.StaticConnections.Count.ToString() & "</pre><br />")
End If
Literal1.Text = lblText.ToString()
End Sub
</script>
<asp:Content ID="Content1" Runat="Server"
ContentPlaceHolderID="ContentPlaceHolder1" >
<asp:proxywebpartmanager id="proxymgr1" runat="server">
<staticconnections>
<asp:webpartconnection id="connection1"
consumerconnectionpointid="ZipCodeConsumer"
consumerid="zipConsumer"
providerconnectionpointid="ZipCodeProvider"
providerid="zipProvider" />
</staticconnections>
</asp:proxywebpartmanager>
<div>
<asp:webpartzone id="zone1" runat="server">
<zonetemplate>
<aspsample:zipcodewebpart id="zipProvider" runat="server"
title="Zip Code Provider" />
<aspsample:weatherwebpart id="zipConsumer" runat="server"
title="Zip Code Consumer" />
</zonetemplate>
</asp:webpartzone>
</div>
<div>
<asp:button id="Button1" runat="server"
text="WebPartManager Information" onclick="Button1_Click" />
<br />
<asp:literal id="Literal1" runat="server" />
</div>
<asp:connectionszone id="ConnectionsZone1" runat="server" />
</asp:Content>
브라우저에서 페이지를 로드한 후 WebPartManager 정보 단추를 클릭하고 마스터 페이지의 컨트롤과 ProxyWebPartManager 콘텐츠 페이지의 컨트롤에 대한 WebPartManager 정보를 확인합니다. 예를 들어 둘 다 정적 연결( StaticConnections 속성)을 추적하는 해당 속성에서 동일한 개수를 갖습니다. 또한 컨트롤에는 WebPartManagerWebParts 관리하는 ProxyWebPartManager 컨트롤 수를 WebPart 추적하는 속성이 있지만 유일한 목적은 정적 연결을 포함하는 것이므로 컨트롤에는 이러한 속성이 없습니다.
설명
컨트롤이 ProxyWebPartManager 마스터 페이지에서 이미 선언된 경우 WebPartManager 콘텐츠 페이지에서 정적 연결을 선언하는 특정 시나리오에 대한 컨트롤이 있습니다.
기본적으로 웹 파트 컨트롤을 사용하는 웹 페이지에는 페이지의 모든 웹 파트 컨트롤을 관리하는 컨트롤이 하나 WebPartManager 만 포함되어야 합니다. 웹 파트 애플리케이션을 마스터 페이지를 사용 하는 경우이를 배치할 일반적 합니다 WebPartManager 런타임에 단일 마스터 페이지를 사용 하 여 모든 콘텐츠 페이지 병합 되므로 마스터 페이지에서 제어 WebPartManager 컨트롤의 모든 웹 파트 컨트롤을 관리 합니다 모든 콘텐츠 페이지에서 그러나 개발자는 이러한 애플리케이션의 콘텐츠 페이지에서 정적 연결을 선언 하려면, 것으로 보일 수도 제한이 있습니다. 정적 웹 파트 연결은 요소를 요소의 <staticconnections>
자식으로 추가하여 <asp:webpartconnection>
선언할 수 있으며, 요소 자체는 요소의 <asp:webpartmanager>
자식이어야 합니다. 그러나 컨트롤이 WebPartManager 마스터 페이지에서 이미 선언되었고 허용된 WebPartManager 컨트롤이므로 개발자는 콘텐츠 페이지에서 추가 WebPartManager 컨트롤을 선언하여 정적 연결을 추가할 수 없습니다.
컨트롤은 ProxyWebPartManager 이 시나리오에서 컨트롤을 WebPartManager 대신합니다. 개발자는 콘텐츠 페이지에서 요소 대신 <asp:webpartmanager>
요소를 선언 <asp:proxywebpartmanager>
한 다음 정적 연결을 자식 요소로 선언할 수 있습니다. 런타임에 컨트롤의 ProxyWebPartManager 연결은 단순히 컨트롤의 WebPartManager 컬렉션에 StaticConnections 추가되고 다른 연결처럼 처리됩니다.
컨트롤은 ProxyWebPartManager 이 특정 개발 시나리오에서만 사용되므로 클래스보다 WebPartManager 기능이 더 제한적입니다. 실제로 컨트롤은 ProxyWebPartManager 콘텐츠 페이지에서 컨트롤에 대한 WebPartManager 정적 연결을 포함하는 프록시 역할을 하지만 컨트롤에서 WebPartManager 상속되지는 않습니다. 클래스에서 Control 직접 상속하고 일부 기본 멤버만 재정의합니다. , Visible및 SkinID 속성은 재정의EnableTheming되고 값이 할당되어 사용되지 않습니다. 상속된 다른 속성은 디자인 타임 동작을 조정하기 위해 재정의되지만, 그렇지 않으면 기본 속성과 동일한 동작을 갖습니다. 여기에는 및 ClientID 속성이 Controls 포함됩니다. 마지막으로 클래스에는 ProxyWebPartManager 상속되지 않은 속성이 하나 있습니다. 속성은 StaticConnections 정적 연결( ProxyWebPartConnectionCollection 개체)의 자체 컬렉션을 반환합니다.
메서드에 관해서는 클래스는 ProxyWebPartManager 주로 사용을 제한하기 위해 몇 가지 메서드만 재정의합니다. 상속된 메서드는 호출된 Focus 경우 예외를 throw하여 사용할 수 없게 만들어집니다. 메서드는 CreateControlCollection 항상 빈 컨트롤 컬렉션을 반환하므로 컨트롤 컬렉션을 포함할 수 없게 됩니다. 마지막으로 메서드는 OnInit 기본 메서드를 호출한 다음 속성에서 참조하는 StaticConnections 연결 컬렉션을 컨트롤의 속성에 WebPartManager.StaticConnectionsWebPartManager 할당합니다. 이렇게 하면 모든 콘텐츠 페이지에 선언된 모든 정적 연결을 롤업하고 마스터 페이지의 컨트롤에서 유지 관리하는 WebPartManager 연결 컬렉션의 일부로 만들 수 있습니다.
생성자
ProxyWebPartManager() |
ProxyWebPartManager 클래스의 새 인스턴스를 초기화합니다. |
속성
Adapter |
컨트롤에 대한 브라우저별 어댑터를 가져옵니다. (다음에서 상속됨 Control) |
AppRelativeTemplateSourceDirectory |
이 컨트롤이 포함된 Page 또는 UserControl 개체의 애플리케이션 상대 가상 디렉터리를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
BindingContainer |
이 컨트롤의 데이터 바인딩이 포함된 컨트롤을 가져옵니다. (다음에서 상속됨 Control) |
ChildControlsCreated |
서버 컨트롤의 자식 컨트롤이 만들어졌는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ClientID |
ASP.NET에서 생성하는 HTML 태그의 컨트롤 ID를 가져옵니다. |
ClientIDMode |
ClientID 속성의 값을 생성하는 데 사용되는 알고리즘을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ClientIDSeparator |
ClientID 속성에 사용된 구분 문자를 나타내는 문자 값을 가져옵니다. (다음에서 상속됨 Control) |
Context |
현재 웹 요청에 대한 서버 컨트롤과 관련된 HttpContext 개체를 가져옵니다. (다음에서 상속됨 Control) |
Controls |
UI 계층 구조에서 지정된 서버 컨트롤의 자식 컨트롤을 나타내는 ControlCollection 개체를 가져옵니다. |
DataItemContainer |
명명 컨테이너가 IDataItemContainer를 구현할 경우 명명 컨테이너에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
DataKeysContainer |
명명 컨테이너가 IDataKeysControl를 구현할 경우 명명 컨테이너에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
DesignMode |
디자인 화면에서 컨트롤이 사용 중인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
EnableTheming |
테마가 사용되지 않도록 기본 속성을 재정의합니다. |
EnableViewState |
서버 컨트롤이 해당 뷰 상태와 포함하고 있는 모든 자식 컨트롤의 뷰 상태를, 요청하는 클라이언트까지 유지하는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Events |
컨트롤에 대한 이벤트 처리기 대리자의 목록을 가져옵니다. 이 속성은 읽기 전용입니다. (다음에서 상속됨 Control) |
HasChildViewState |
현재 서버 컨트롤의 자식 컨트롤에 저장된 뷰 상태 설정 값이 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ID |
서버 컨트롤에 할당된 프로그래밍 ID를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
IdSeparator |
컨트롤 식별자를 구분하는 데 사용되는 문자를 가져옵니다. (다음에서 상속됨 Control) |
IsChildControlStateCleared |
이 컨트롤에 포함된 컨트롤이 컨트롤 상태를 가지는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsTrackingViewState |
서버 컨트롤에서 해당 뷰 상태의 변경 사항을 저장하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
IsViewStateEnabled |
이 컨트롤의 뷰 상태를 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
LoadViewStateByID |
인덱스 대신 ID별로 뷰 상태를 로드할 때 컨트롤이 참여하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
NamingContainer |
동일한 ID 속성 값을 사용하는 서버 컨트롤을 구별하기 위해 고유의 네임스페이스를 만드는 서버 컨트롤의 명명 컨테이너에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
Page |
서버 컨트롤이 들어 있는 Page 인스턴스에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
Parent |
페이지 컨트롤 계층 구조에서 서버 컨트롤의 부모 컨트롤에 대한 참조를 가져옵니다. (다음에서 상속됨 Control) |
RenderingCompatibility |
렌더링된 HTML이 호환될 ASP.NET 버전을 지정하는 값을 가져옵니다. (다음에서 상속됨 Control) |
Site |
디자인 화면에서 렌더링될 때 현재 컨트롤을 호스팅하는 컨테이너 관련 정보를 가져옵니다. (다음에서 상속됨 Control) |
SkinID |
값이 할당되지 않도록 기본 속성을 재정의합니다. |
StaticConnections |
콘텐츠 페이지의 |
TemplateControl |
이 컨트롤이 포함된 템플릿의 참조를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
TemplateSourceDirectory |
Page 또는 현재 서버 컨트롤이 들어 있는 UserControl의 가상 디렉터리를 가져옵니다. (다음에서 상속됨 Control) |
UniqueID |
서버 컨트롤에 대해 계층적으로 정규화된 고유 식별자를 가져옵니다. (다음에서 상속됨 Control) |
ValidateRequestMode |
잠재적으로 위험한 값이 있는지 확인하기 위해 컨트롤에서 브라우저의 클라이언트 입력을 검사하는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 Control) |
ViewState |
같은 페이지에 대한 여러 개의 요청 전반에 서버 컨트롤의 뷰 상태를 저장하고 복원할 수 있도록 하는 상태 정보 사전을 가져옵니다. (다음에서 상속됨 Control) |
ViewStateIgnoresCase |
StateBag 개체가 대/소문자를 구분하는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Control) |
ViewStateMode |
이 컨트롤의 뷰 상태 모드를 가져오거나 설정합니다. (다음에서 상속됨 Control) |
Visible |
값이 할당되지 않도록 기본 속성을 재정의합니다. |
메서드
AddedControl(Control, Int32) |
자식 컨트롤이 Control 개체의 Controls 컬렉션에 추가된 후 호출됩니다. (다음에서 상속됨 Control) |
AddParsedSubObject(Object) |
XML 또는 HTML 요소가 구문 분석되었음을 서버 컨트롤에 알리고 서버 컨트롤의 ControlCollection 개체에 요소를 추가합니다. (다음에서 상속됨 Control) |
ApplyStyleSheetSkin(Page) |
페이지 스타일시트에 정의된 스타일 속성을 컨트롤에 적용합니다. (다음에서 상속됨 Control) |
BeginRenderTracing(TextWriter, Object) |
렌더링 데이터의 디자인 타임 추적을 시작합니다. (다음에서 상속됨 Control) |
BuildProfileTree(String, Boolean) |
서버 컨트롤에 대한 정보를 수집하고, 페이지에 대해 추적이 활성화된 경우 표시할 Trace 속성에 이 정보를 전달합니다. (다음에서 상속됨 Control) |
ClearCachedClientID() |
캐시된 ClientID 값을 |
ClearChildControlState() |
서버 컨트롤의 자식 컨트롤에 대한 컨트롤 상태 정보를 삭제합니다. (다음에서 상속됨 Control) |
ClearChildState() |
서버 컨트롤의 모든 자식 컨트롤에 대한 뷰 상태 정보와 컨트롤 상태 정보를 삭제합니다. (다음에서 상속됨 Control) |
ClearChildViewState() |
서버 컨트롤의 모든 자식 컨트롤에 대한 뷰 상태 정보를 삭제합니다. (다음에서 상속됨 Control) |
ClearEffectiveClientIDMode() |
현재 컨트롤 인스턴스 및 자식 컨트롤의 ClientIDMode 속성을 Inherit로 설정합니다. (다음에서 상속됨 Control) |
CreateChildControls() |
다시 게시 또는 렌더링하기 위한 준비 작업으로, 포함된 자식 컨트롤을 만들도록 컴퍼지션 기반 구현을 사용하는 서버 컨트롤에 알리기 위해 ASP.NET 페이지 프레임워크에 의해 호출됩니다. (다음에서 상속됨 Control) |
CreateControlCollection() |
ProxyWebPartManager 컨트롤에 컨트롤이 포함되지 않도록 기본 속성을 재정의합니다. |
DataBind() |
호출된 서버 컨트롤과 모든 해당 자식 컨트롤에 데이터 원본을 바인딩합니다. (다음에서 상속됨 Control) |
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() |
메서드가 호출되지 않도록 기본 메서드를 재정의합니다. |
GetDesignModeState() |
컨트롤의 디자인 타임 데이터를 가져옵니다. (다음에서 상속됨 Control) |
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) |
IsLiteralContent() |
서버 컨트롤에 리터럴 내용만 저장되어 있는지 확인합니다. (다음에서 상속됨 Control) |
LoadControlState(Object) |
SaveControlState() 메서드에서 저장한 이전 페이지 요청에서 컨트롤 상태 정보를 복원합니다. (다음에서 상속됨 Control) |
LoadViewState(Object) |
SaveViewState() 메서드로 저장한 이전 페이지 요청에서 뷰 상태 정보를 복원합니다. (다음에서 상속됨 Control) |
MapPathSecure(String) |
가상 경로(절대 또는 상대)가 매핑되는 실제 경로를 가져옵니다. (다음에서 상속됨 Control) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
OnBubbleEvent(Object, EventArgs) |
서버 컨트롤의 이벤트가 페이지의 UI 서버 컨트롤 계층 구조에 전달되었는지 여부를 확인합니다. (다음에서 상속됨 Control) |
OnDataBinding(EventArgs) |
DataBinding 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OnInit(EventArgs) |
Init 이벤트를 발생시키고 컨트롤을 초기화합니다. |
OnLoad(EventArgs) |
Load 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OnPreRender(EventArgs) |
PreRender 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OnUnload(EventArgs) |
Unload 이벤트를 발생시킵니다. (다음에서 상속됨 Control) |
OpenFile(String) |
파일을 읽는 데 사용되는 Stream을 가져옵니다. (다음에서 상속됨 Control) |
RaiseBubbleEvent(Object, EventArgs) |
이벤트 소스와 해당 정보를 컨트롤의 부모 컨트롤에 할당합니다. (다음에서 상속됨 Control) |
RemovedControl(Control) |
자식 컨트롤이 Control 개체의 Controls 컬렉션에서 제거된 후 호출됩니다. (다음에서 상속됨 Control) |
Render(HtmlTextWriter) |
클라이언트에서 렌더링할 콘텐츠를 쓰는 지정된 HtmlTextWriter 개체에 서버 컨트롤 콘텐츠를 보냅니다. (다음에서 상속됨 Control) |
RenderChildren(HtmlTextWriter) |
클라이언트에서 렌더링될 내용을 쓰는 제공된 HtmlTextWriter 개체에 서버 컨트롤 자식의 내용을 출력합니다. (다음에서 상속됨 Control) |
RenderControl(HtmlTextWriter) |
제공된 HtmlTextWriter 개체로 서버 컨트롤 콘텐츠를 출력하고 추적을 사용하는 경우 컨트롤에 대한 추적 정보를 저장합니다. (다음에서 상속됨 Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
제공된 HtmlTextWriter 개체를 사용하여 제공된 ControlAdapter 개체에 서버 컨트롤 콘텐츠를 출력합니다. (다음에서 상속됨 Control) |
ResolveAdapter() |
지정된 컨트롤을 렌더링하는 컨트롤 어댑터를 가져옵니다. (다음에서 상속됨 Control) |
ResolveClientUrl(String) |
브라우저에 사용할 수 있는 URL을 가져옵니다. (다음에서 상속됨 Control) |
ResolveUrl(String) |
URL을 요청 클라이언트에서 사용할 수 있는 URL로 변환합니다. (다음에서 상속됨 Control) |
SaveControlState() |
페이지가 서버에 다시 게시된 후 발생한 서버 컨트롤 상태의 변경을 저장합니다. (다음에서 상속됨 Control) |
SaveViewState() |
페이지가 서버에 다시 게시된 이후 발생한 서버 컨트롤 뷰 상태의 변경을 저장합니다. (다음에서 상속됨 Control) |
SetDesignModeState(IDictionary) |
컨트롤에 대한 디자인 타임 데이터를 설정합니다. (다음에서 상속됨 Control) |
SetRenderMethodDelegate(RenderMethod) |
이벤트 처리기 대리자를 할당하여 서버 컨트롤과 그 콘텐츠를 부모 컨트롤로 렌더링합니다. (다음에서 상속됨 Control) |
SetTraceData(Object, Object) |
추적 데이터 키와 추적 데이터 값을 사용하여 렌더링 데이터의 디자인 타임 추적을 위한 추적 데이터를 설정합니다. (다음에서 상속됨 Control) |
SetTraceData(Object, Object, Object) |
추적 개체, 추적 데이터 키와 추적 데이터 값을 사용하여 렌더링 데이터의 디자인 타임 추적을 위한 추적 데이터를 설정합니다. (다음에서 상속됨 Control) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
TrackViewState() |
서버 컨트롤의 뷰 상태 변경 사항 추적 작업을 실행하여 서버 컨트롤의 StateBag 개체에 변경 사항이 저장되도록 합니다. 이 개체는 ViewState 속성을 통해 액세스할 수 있습니다. (다음에서 상속됨 Control) |
이벤트
DataBinding |
서버 컨트롤에서 데이터 소스에 바인딩할 때 발생합니다. (다음에서 상속됨 Control) |
Disposed |
ASP.NET 페이지가 요청될 때 서버 컨트롤 주기의 마지막 단계로 서버 컨트롤이 메모리에서 해제될 때 발생합니다. (다음에서 상속됨 Control) |
Init |
서버 컨트롤 주기의 첫 단계로 서버 컨트롤을 초기화할 때 이 이벤트가 발생합니다. (다음에서 상속됨 Control) |
Load |
Page 개체에 서버 컨트롤을 로드할 때 발생합니다. (다음에서 상속됨 Control) |
PreRender |
Control 개체가 로드된 후, 렌더링 전에 발생합니다. (다음에서 상속됨 Control) |
Unload |
서버 컨트롤이 메모리에서 언로드될 때 발생합니다. (다음에서 상속됨 Control) |
명시적 인터페이스 구현
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) |
상위 데이터 컨트롤에 대한 메타테이블 개체를 반환합니다. |
적용 대상
추가 정보
.NET