Udostępnij za pośrednictwem


ProxyWebPartManager Klasa

Definicja

Umożliwia deweloperom deklarowanie połączeń statycznych na stronie zawartości, gdy WebPartManager kontrolka została zadeklarowana na skojarzonej stronie wzorcowej strony zawartości.

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
Dziedziczenie
ProxyWebPartManager
Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak używać ProxyWebPartManager klasy do deklarowania połączeń statycznych na stronach zawartości w aplikacji korzystającej ze stron wzorcowych. Przykład zawiera pięć części:

  • Kontrolka użytkownika, która umożliwia zmianę trybu wyświetlania składników Web Part na stronie.

  • Kod źródłowy interfejsu i dwie WebPart kontrolki działające jako dostawca i odbiorca połączenia.

  • Strona wzorcowa sieci Web, która hostuje kontrolkę użytkownika, strony zawartości i kontrolkę WebPartManager aplikacji.

  • Strona sieci Web zawartości, która hostuje kontrolkę ProxyWebPartManager , dwie kontrolki niestandardowe WebPart i statyczne połączenie w celu połączenia tych dwóch kontrolek.

  • Wyjaśnienie sposobu uruchamiania przykładowej strony.

Pierwszą częścią tego przykładu kodu jest kontrolka użytkownika, która umożliwia użytkownikom zmienianie trybów wyświetlania na stronie sieci Web. Zapisz następujący kod źródłowy w pliku ascx, nadając mu nazwę pliku przypisaną do Src atrybutu Register dyrektywy dla tej kontrolki użytkownika, która znajduje się w górnej części strony wzorcowej hostingu. Aby uzyskać szczegółowe informacje na temat trybów wyświetlania i opisu kodu źródłowego w tej kontrolce, zobacz Przewodnik: zmienianie trybów wyświetlania na stronie składników Web Part.

<%@ 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="&nbsp;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="&nbsp;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>

Drugą częścią przykładu kodu jest kod źródłowy interfejsu i kontrolek. Plik źródłowy zawiera prosty interfejs o nazwie IZipCode. Istnieje również WebPart klasa o nazwie ZipCodeWebPart , która implementuje interfejs i działa jako kontrolka dostawcy. Jego ProvideIZipCode metoda jest metodą wywołania zwrotnego, która implementuje jedyny element członkowski interfejsu. Metoda po prostu zwraca wystąpienie interfejsu. Należy pamiętać, że metoda jest oznaczona atrybutem ConnectionProvider w metadanych. Jest to mechanizm identyfikacji metody jako metody wywołania zwrotnego dla punktu połączenia dostawcy. Druga WebPart klasa ma nazwę WeatherWebParti działa jako odbiorca połączenia. Ta klasa ma metodę o nazwie GetZipCode , która pobiera wystąpienie interfejsu IZipCode z kontrolki dostawcy. Należy pamiętać, że ta metoda jest oznaczona jako metoda punktu połączenia odbiorcy z atrybutem ConnectionConsumer w metadanych.

Aby można było uruchomić przykładowy kod, należy skompilować ten kod źródłowy. Można je skompilować jawnie i umieścić wynikowy zestaw w folderze Bin witryny sieci Web lub globalnej pamięci podręcznej zestawów. Alternatywnie można umieścić kod źródłowy w folderze App_Code witryny, w którym będzie dynamicznie kompilowany w czasie wykonywania. W tym przykładzie kodu jest używana kompilacja dynamiczna. Aby zapoznać się z przewodnikiem, który pokazuje sposób kompilowania, zobacz Przewodnik: tworzenie i używanie niestandardowej kontrolki serwera sieci Web.

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

Trzecią częścią przykładu kodu jest strona wzorcowa. Należy użyć następującego kodu źródłowego i zapisać go w pliku, nazywając go MasterPageCS.master lub MasterPageVB.master (w zależności od używanego języka). Zwróć uwagę, że strona wzorcowa zawiera dyrektywę umożliwiającą Register zarejestrowanie kontrolki użytkownika i odwołuje się do samej kontrolki użytkownika w treści strony. Strona wzorcowa deklaruje również pojedynczy <asp:webpartmanager> element używany dla tej strony i wszystkich powiązanych stron zawartości. Na koniec strona wzorcowa zawiera <asp: contentplaceholder> element, który deklaruje punkt na stronie, na której jest wstawiana strona zawartości.

<%@ 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>

Czwartą częścią przykładu kodu jest strona zawartości. Należy skopiować następujący kod źródłowy i zapisać go w pliku z rozszerzeniem .aspx. Zwróć uwagę, że jej Page dyrektywa zawiera MasterFile atrybut odwołujący się do strony wzorcowej. Ponadto ta strona ma dyrektywę umożliwiającą Register zarejestrowanie pliku w folderze App_Code zawierającym dynamicznie skompilowane kontrolki niestandardowe WebPart , które uczestniczą w połączeniu. <asp:content> W tagach strony znajduje <asp:proxywebpartmanager> się element z elementem podrzędnym<staticconnections>, który z kolei ma element podrzędny <asp:webpartconnection> do deklarowania szczegółów połączenia. W tagach <script> na stronie metoda dodaje kod, Button1_Click który uzyskuje dostęp do głównej WebPartManager kontrolki na stronie wzorcowej i kontrolki ProxyWebPartManager na stronie zawartości, a następnie zapisuje niektóre z ich szczegółów na stronie.

<%@ 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>

Po załadowaniu strony w przeglądarce kliknij przycisk Informacje o składniku WebPartManager i obserwuj informacje o WebPartManager kontrolce na stronie wzorcowej oraz kontrolkę ProxyWebPartManager na stronie zawartości. Należy na przykład pamiętać, że oba te elementy mają taką samą liczbę we własnych właściwościach, które śledzą połączenia statyczne ( StaticConnections właściwość ). Należy również pamiętać, że mimo że kontrolka WebPartManager ma właściwość śledzącą WebParts liczbę WebPart kontrolek, którymi zarządza, ProxyWebPartManager kontrolka nie ma takiej właściwości, ponieważ jej jedynym celem jest zawieranie połączeń statycznych.

Uwagi

Kontrolka ProxyWebPartManager istnieje dla konkretnego scenariusza deklarowania połączeń statycznych na stronach zawartości, gdy WebPartManager kontrolka została już zadeklarowana na stronie wzorcowej.

Zgodnie z projektem strona sieci Web korzystająca z kontrolek składników Web Part musi zawierać jedną (i tylko jedną) WebPartManager kontrolkę, która zarządza wszystkimi kontrolkami składników Web Part na stronie. Gdy aplikacja składników Web Part używa stron wzorcowych, często umieszcza kontrolkę WebPartManager na stronie wzorcowej, ponieważ wszystkie strony zawartości są scalane ze stroną wzorcową w czasie wykonywania, a pojedyncza WebPartManager kontrolka będzie zarządzać wszystkimi kontrolkami składników Web Part ze wszystkich stron zawartości. Jeśli jednak deweloperzy chcą zadeklarować połączenia statyczne na stronach zawartości takiej aplikacji, mogą wydawać się mieć ograniczenie. Statyczne połączenie składników Web Part można zadeklarować tylko przez dodanie <asp:webpartconnection> elementu jako elementu podrzędnego <staticconnections> , który sam musi być elementem podrzędnym <asp:webpartmanager> elementu. Ponieważ kontrolka WebPartManager została już zadeklarowana na stronie wzorcowej i jest jedyną dozwoloną WebPartManager kontrolką, deweloperzy nie mogą zadeklarować dodatkowych WebPartManager kontrolek na stronach zawartości w celu dodania połączeń statycznych.

Kontrolka ProxyWebPartManager jest częścią kontrolki w tym scenariuszu WebPartManager . Deweloperzy deklarują <asp:proxywebpartmanager> element zamiast <asp:webpartmanager> elementu na swoich stronach zawartości, a następnie mogą deklarować połączenia statyczne jako elementy podrzędne. W czasie wykonywania połączenia w kontrolce ProxyWebPartManager są po prostu dodawane do StaticConnections kolekcji kontrolki WebPartManager i traktowane jak każde inne połączenie.

Ponieważ kontrolka ProxyWebPartManager jest używana tylko w tym konkretnym scenariuszu WebPartManager programistycznym, ma bardziej ograniczoną funkcjonalność niż klasa. W rzeczywistości kontrolka ProxyWebPartManager działa jako serwer proxy, który zawiera statyczne połączenia dla WebPartManager kontrolki na stronach zawartości, ale nie dziedziczy z kontrolki WebPartManager . Dziedziczy bezpośrednio z Control klasy i zastępuje tylko kilka podstawowych elementów członkowskich. Właściwości EnableTheming, Visiblei SkinID są zastępowane i przypisywane wartości, które uniemożliwiają ich korzystanie. Inne dziedziczone właściwości są zastępowane w celu dostosowania ich zachowania w czasie projektowania, ale w przeciwnym razie mają takie samo zachowanie jak właściwości podstawowe. Należą do Controls nich właściwości i ClientID . ProxyWebPartManager Na koniec klasa ma jedną nie dziedziczonej właściwości. Właściwość StaticConnections zwraca własną kolekcję połączeń statycznych ( ProxyWebPartConnectionCollection obiekt).

Jeśli chodzi o metody, ProxyWebPartManager klasa podobnie zastępuje tylko kilka metod, głównie w celu ograniczenia ich użycia. Dziedziczona Focus metoda jest bezużyteczna przez zgłoszenie wyjątku, jeśli zostanie wywołana. Metoda CreateControlCollection zawsze zwraca pustą kolekcję kontrolek, co ma wpływ na uniemożliwienie jej przechowywania kolekcji kontrolek. OnInit Na koniec metoda wywołuje metodę podstawową, a następnie przypisuje kolekcję połączeń, StaticConnections do WebPartManager.StaticConnections których odwołuje się właściwość kontrolkiWebPartManager. Ma to wpływ na zwijenie wszystkich połączeń statycznych zadeklarowanych na wszystkich stronach zawartości i uczynienie ich częścią kolekcji połączeń utrzymywanej przez kontrolkę WebPartManager na stronie wzorcowej.

Konstruktory

ProxyWebPartManager()

Inicjuje nowe wystąpienie klasy ProxyWebPartManager.

Właściwości

Adapter

Pobiera kartę specyficzną dla przeglądarki dla kontrolki.

(Odziedziczone po Control)
AppRelativeTemplateSourceDirectory

Pobiera lub ustawia względny katalog Page wirtualny aplikacji obiektu lub UserControl , który zawiera tę kontrolkę.

(Odziedziczone po Control)
BindingContainer

Pobiera kontrolkę zawierającą powiązanie danych tego formantu.

(Odziedziczone po Control)
ChildControlsCreated

Pobiera wartość wskazującą, czy kontrolki podrzędne kontrolki serwera zostały utworzone.

(Odziedziczone po Control)
ClientID

Pobiera identyfikator kontrolki dla znaczników HTML generowanych przez ASP.NET.

ClientIDMode

Pobiera lub ustawia algorytm używany do generowania ClientID wartości właściwości.

(Odziedziczone po Control)
ClientIDSeparator

Pobiera wartość znaku reprezentującą znak separatora ClientID używany we właściwości .

(Odziedziczone po Control)
Context

HttpContext Pobiera obiekt skojarzony z kontrolką serwera dla bieżącego żądania sieci Web.

(Odziedziczone po Control)
Controls

ControlCollection Pobiera obiekt reprezentujący kontrolki podrzędne dla określonej kontrolki serwera w hierarchii interfejsu użytkownika.

DataItemContainer

Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataItemContainerelement .

(Odziedziczone po Control)
DataKeysContainer

Pobiera odwołanie do kontenera nazewnictwa, jeśli kontener nazewnictwa implementuje IDataKeysControlelement .

(Odziedziczone po Control)
DesignMode

Pobiera wartość wskazującą, czy kontrolka jest używana na powierzchni projektowej.

(Odziedziczone po Control)
EnableTheming

Zastępuje właściwość podstawową, aby uniemożliwić korzystanie z motywów.

EnableViewState

Pobiera lub ustawia wartość wskazującą, czy kontrolka serwera utrzymuje stan widoku oraz stan widoku wszystkich kontrolek podrzędnych, które zawiera, do klienta wysyłającego żądanie.

(Odziedziczone po Control)
Events

Pobiera listę delegatów programu obsługi zdarzeń dla kontrolki. Ta właściwość jest tylko do odczytu.

(Odziedziczone po Control)
HasChildViewState

Pobiera wartość wskazującą, czy kontrolki podrzędne bieżącego formantu serwera mają zapisane ustawienia stanu widoku.

(Odziedziczone po Control)
ID

Pobiera lub ustawia identyfikator programowy przypisany do kontrolki serwera.

(Odziedziczone po Control)
IdSeparator

Pobiera znak używany do oddzielania identyfikatorów kontrolek.

(Odziedziczone po Control)
IsChildControlStateCleared

Pobiera wartość wskazującą, czy kontrolki zawarte w tej kontrolce mają stan kontroli.

(Odziedziczone po Control)
IsTrackingViewState

Pobiera wartość wskazującą, czy kontrolka serwera zapisuje zmiany w stanie widoku.

(Odziedziczone po Control)
IsViewStateEnabled

Pobiera wartość wskazującą, czy dla tej kontrolki jest włączony stan widoku.

(Odziedziczone po Control)
LoadViewStateByID

Pobiera wartość wskazującą, czy kontrolka uczestniczy w ładowaniu stanu widoku przez ID zamiast indeksu.

(Odziedziczone po Control)
NamingContainer

Pobiera odwołanie do kontenera nazewnictwa kontrolki serwera, który tworzy unikatową przestrzeń nazw do rozróżniania między kontrolkami serwera o tej samej ID wartości właściwości.

(Odziedziczone po Control)
Page

Pobiera odwołanie do Page wystąpienia, które zawiera kontrolkę serwera.

(Odziedziczone po Control)
Parent

Pobiera odwołanie do kontrolki nadrzędnej kontrolki serwera w hierarchii sterowania stronami.

(Odziedziczone po Control)
RenderingCompatibility

Pobiera wartość określającą wersję ASP.NET, z którą renderowany kod HTML będzie zgodny.

(Odziedziczone po Control)
Site

Pobiera informacje o kontenerze, który hostuje bieżącą kontrolkę podczas renderowania na powierzchni projektowej.

(Odziedziczone po Control)
SkinID

Zastępuje właściwość podstawową, aby zapobiec przypisaniu wartości.

StaticConnections

Pobiera kolekcję połączeń statycznych zadeklarowanych w elemecie <asp:proxywebpartmanager> na stronie zawartości.

TemplateControl

Pobiera lub ustawia odwołanie do szablonu zawierającego tę kontrolkę.

(Odziedziczone po Control)
TemplateSourceDirectory

Pobiera katalog wirtualny obiektu Page lub UserControl , który zawiera bieżącą kontrolkę serwera.

(Odziedziczone po Control)
UniqueID

Pobiera unikatowy, hierarchicznie kwalifikowany identyfikator kontroli serwera.

(Odziedziczone po Control)
ValidateRequestMode

Pobiera lub ustawia wartość wskazującą, czy kontrolka sprawdza dane wejściowe klienta z przeglądarki pod kątem potencjalnie niebezpiecznych wartości.

(Odziedziczone po Control)
ViewState

Pobiera słownik informacji o stanie, który pozwala zapisać i przywrócić stan widoku kontroli serwera w wielu żądaniach dla tej samej strony.

(Odziedziczone po Control)
ViewStateIgnoresCase

Pobiera wartość wskazującą, czy StateBag obiekt nie uwzględnia wielkości liter.

(Odziedziczone po Control)
ViewStateMode

Pobiera lub ustawia tryb wyświetlania tej kontrolki.

(Odziedziczone po Control)
Visible

Zastępuje właściwość podstawową, aby zapobiec przypisaniu wartości.

Metody

AddedControl(Control, Int32)

Wywoływane po dodaniu kontrolki podrzędnej do Controls kolekcji Control obiektu.

(Odziedziczone po Control)
AddParsedSubObject(Object)

Powiadamia formant serwera, że element ( XML lub HTML) został przeanalizowany i dodaje element do obiektu kontrolki ControlCollection serwera.

(Odziedziczone po Control)
ApplyStyleSheetSkin(Page)

Stosuje właściwości stylu zdefiniowane w arkuszu stylów strony do kontrolki.

(Odziedziczone po Control)
BeginRenderTracing(TextWriter, Object)

Rozpoczyna śledzenie danych renderowania w czasie projektowania.

(Odziedziczone po Control)
BuildProfileTree(String, Boolean)

Zbiera informacje o kontrolce serwera i dostarcza ją do Trace właściwości, która ma być wyświetlana po włączeniu śledzenia dla strony.

(Odziedziczone po Control)
ClearCachedClientID()

Ustawia wartość buforowanej ClientID na nullwartość .

(Odziedziczone po Control)
ClearChildControlState()

Usuwa informacje o stanie sterowania dla kontrolek podrzędnych kontrolki serwera.

(Odziedziczone po Control)
ClearChildState()

Usuwa informacje o stanie widoku i stanie sterowania dla wszystkich kontrolek podrzędnych kontrolki serwera.

(Odziedziczone po Control)
ClearChildViewState()

Usuwa informacje o stanie widoku dla wszystkich kontrolek podrzędnych kontrolki serwera.

(Odziedziczone po Control)
ClearEffectiveClientIDMode()

ClientIDMode Ustawia właściwość bieżącego wystąpienia kontrolki i wszystkich kontrolek podrzędnych na Inheritwartość .

(Odziedziczone po Control)
CreateChildControls()

Wywoływana przez platformę strony ASP.NET w celu powiadamiania kontrolek serwera, które używają implementacji opartej na kompozycji w celu utworzenia wszelkich kontrolek podrzędnych, które zawierają w ramach przygotowania do publikowania z powrotem lub renderowania.

(Odziedziczone po Control)
CreateControlCollection()

Zastępuje właściwość podstawową, aby uniemożliwić ProxyWebPartManager formantowi zawieranie kontrolek.

DataBind()

Wiąże źródło danych z wywołaną kontrolką serwera i wszystkimi jej kontrolkami podrzędnymi.

(Odziedziczone po Control)
DataBind(Boolean)

Wiąże źródło danych z wywołaną kontrolką serwera i wszystkie jego kontrolki podrzędne z opcją wywołania DataBinding zdarzenia.

(Odziedziczone po Control)
DataBindChildren()

Wiąże źródło danych z kontrolkami podrzędnymi kontrolki serwera.

(Odziedziczone po Control)
Dispose()

Umożliwia kontroli serwera przeprowadzenie końcowego czyszczenia przed zwolnieniem z pamięci.

(Odziedziczone po Control)
EndRenderTracing(TextWriter, Object)

Kończy śledzenie danych renderowania w czasie projektowania.

(Odziedziczone po Control)
EnsureChildControls()

Określa, czy kontrolka serwera zawiera kontrolki podrzędne. Jeśli tak nie jest, tworzy kontrolki podrzędne.

(Odziedziczone po Control)
EnsureID()

Tworzy identyfikator kontrolek, które nie mają przypisanego identyfikatora.

(Odziedziczone po Control)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindControl(String)

Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera przy użyciu określonego id parametru.

(Odziedziczone po Control)
FindControl(String, Int32)

Wyszukuje bieżący kontener nazewnictwa dla kontrolki serwera z określoną liczbą id całkowitą określoną w parametrze pathOffset , która ułatwia wyszukiwanie. Nie należy zastępować tej wersji FindControl metody .

(Odziedziczone po Control)
Focus()

Zastępuje metodę podstawową, aby zapobiec wywoływaniu metody.

GetDesignModeState()

Pobiera dane czasu projektowania dla kontrolki.

(Odziedziczone po Control)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetRouteUrl(Object)

Pobiera adres URL odpowiadający zestawowi parametrów trasy.

(Odziedziczone po Control)
GetRouteUrl(RouteValueDictionary)

Pobiera adres URL odpowiadający zestawowi parametrów trasy.

(Odziedziczone po Control)
GetRouteUrl(String, Object)

Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy.

(Odziedziczone po Control)
GetRouteUrl(String, RouteValueDictionary)

Pobiera adres URL odpowiadający zestawowi parametrów trasy i nazwie trasy.

(Odziedziczone po Control)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
GetUniqueIDRelativeTo(Control)

Zwraca prefiksowaną część UniqueID właściwości określonej kontrolki.

(Odziedziczone po Control)
HasControls()

Określa, czy kontrolka serwera zawiera jakiekolwiek kontrolki podrzędne.

(Odziedziczone po Control)
HasEvents()

Zwraca wartość wskazującą, czy zdarzenia są zarejestrowane dla kontrolki, czy dla kontrolek podrzędnych.

(Odziedziczone po Control)
IsLiteralContent()

Określa, czy kontrolka serwera przechowuje tylko zawartość literału.

(Odziedziczone po Control)
LoadControlState(Object)

Przywraca informacje o stanie kontroli z poprzedniego żądania strony, które zostało zapisane przez metodę SaveControlState() .

(Odziedziczone po Control)
LoadViewState(Object)

Przywraca informacje o stanie widoku z poprzedniego żądania strony, które zostało zapisane przez metodę SaveViewState() .

(Odziedziczone po Control)
MapPathSecure(String)

Pobiera ścieżkę fizyczną, z którą mapuje się ścieżka wirtualna , bezwzględna lub względna.

(Odziedziczone po Control)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnBubbleEvent(Object, EventArgs)

Określa, czy zdarzenie kontroli serwera jest przekazywane w hierarchii kontroli serwera interfejsu użytkownika strony.

(Odziedziczone po Control)
OnDataBinding(EventArgs)

DataBinding Zgłasza zdarzenie.

(Odziedziczone po Control)
OnInit(EventArgs)

Init Wywołuje zdarzenie i inicjuje kontrolkę.

OnLoad(EventArgs)

Load Zgłasza zdarzenie.

(Odziedziczone po Control)
OnPreRender(EventArgs)

PreRender Zgłasza zdarzenie.

(Odziedziczone po Control)
OnUnload(EventArgs)

Unload Zgłasza zdarzenie.

(Odziedziczone po Control)
OpenFile(String)

Pobiera element Stream używany do odczytywania pliku.

(Odziedziczone po Control)
RaiseBubbleEvent(Object, EventArgs)

Przypisuje wszystkie źródła zdarzenia i jego informacje do elementu nadrzędnego kontrolki.

(Odziedziczone po Control)
RemovedControl(Control)

Wywoływane po usunięciu kontrolki podrzędnej z Controls kolekcji Control obiektu.

(Odziedziczone po Control)
Render(HtmlTextWriter)

Wysyła zawartość kontroli serwera do dostarczonego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie.

(Odziedziczone po Control)
RenderChildren(HtmlTextWriter)

Wyprowadza zawartość elementów podrzędnych formantu serwera do dostarczonego HtmlTextWriter obiektu, który zapisuje zawartość do renderowania na kliencie.

(Odziedziczone po Control)
RenderControl(HtmlTextWriter)

Dane wyjściowe serwera steruje zawartością dostarczonego HtmlTextWriter obiektu i przechowuje informacje śledzenia dotyczące kontrolki, jeśli śledzenie jest włączone.

(Odziedziczone po Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Dane wyjściowe serwera steruje zawartością dostarczonego HtmlTextWriter obiektu przy użyciu dostarczonego ControlAdapter obiektu.

(Odziedziczone po Control)
ResolveAdapter()

Pobiera kartę sterową odpowiedzialną za renderowanie określonej kontrolki.

(Odziedziczone po Control)
ResolveClientUrl(String)

Pobiera adres URL, który może być używany przez przeglądarkę.

(Odziedziczone po Control)
ResolveUrl(String)

Konwertuje adres URL na adres, który może być używany przez klienta żądającego.

(Odziedziczone po Control)
SaveControlState()

Zapisuje wszelkie zmiany stanu kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po Control)
SaveViewState()

Zapisuje wszelkie zmiany stanu widoku kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po Control)
SetDesignModeState(IDictionary)

Ustawia dane czasu projektowania dla kontrolki.

(Odziedziczone po Control)
SetRenderMethodDelegate(RenderMethod)

Przypisuje delegata programu obsługi zdarzeń w celu renderowania kontrolki serwera i jego zawartości do kontrolki nadrzędnej.

(Odziedziczone po Control)
SetTraceData(Object, Object)

Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania przy użyciu klucza danych śledzenia i wartości danych śledzenia.

(Odziedziczone po Control)
SetTraceData(Object, Object, Object)

Ustawia dane śledzenia dla śledzenia czasu projektowania danych renderowania, przy użyciu obiektu śledzonego, klucza danych śledzenia i wartości danych śledzenia.

(Odziedziczone po Control)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TrackViewState()

Powoduje śledzenie zmian stanu widoku w kontrolce serwera, dzięki czemu można je przechowywać w obiekcie kontrolki StateBag serwera. Ten obiekt jest dostępny za pośrednictwem ViewState właściwości .

(Odziedziczone po Control)

Zdarzenia

DataBinding

Występuje, gdy kontrolka serwera wiąże się ze źródłem danych.

(Odziedziczone po Control)
Disposed

Występuje, gdy kontrolka serwera jest zwalniana z pamięci, która jest ostatnim etapem cyklu życia kontroli serwera po zażądaniu strony ASP.NET.

(Odziedziczone po Control)
Init

Występuje, gdy kontrolka serwera jest inicjowana, co jest pierwszym krokiem w jego cyklu życia.

(Odziedziczone po Control)
Load

Występuje, gdy kontrolka serwera jest ładowana do Page obiektu.

(Odziedziczone po Control)
PreRender

Występuje po załadowaniu Control obiektu, ale przed renderowaniem.

(Odziedziczone po Control)
Unload

Występuje, gdy kontrolka serwera jest zwalniana z pamięci.

(Odziedziczone po Control)

Jawne implementacje interfejsu

IControlBuilderAccessor.ControlBuilder

Aby uzyskać opis tego członka, zobacz ControlBuilder.

(Odziedziczone po Control)
IControlDesignerAccessor.GetDesignModeState()

Aby uzyskać opis tego członka, zobacz GetDesignModeState().

(Odziedziczone po Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Aby uzyskać opis tego członka, zobacz SetDesignModeState(IDictionary).

(Odziedziczone po Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Aby uzyskać opis tego członka, zobacz SetOwnerControl(Control).

(Odziedziczone po Control)
IControlDesignerAccessor.UserData

Aby uzyskać opis tego członka, zobacz UserData.

(Odziedziczone po Control)
IDataBindingsAccessor.DataBindings

Aby uzyskać opis tego członka, zobacz DataBindings.

(Odziedziczone po Control)
IDataBindingsAccessor.HasDataBindings

Aby uzyskać opis tego członka, zobacz HasDataBindings.

(Odziedziczone po Control)
IExpressionsAccessor.Expressions

Aby uzyskać opis tego członka, zobacz Expressions.

(Odziedziczone po Control)
IExpressionsAccessor.HasExpressions

Aby uzyskać opis tego członka, zobacz HasExpressions.

(Odziedziczone po Control)
IParserAccessor.AddParsedSubObject(Object)

Aby uzyskać opis tego członka, zobacz AddParsedSubObject(Object).

(Odziedziczone po Control)

Metody rozszerzania

FindDataSourceControl(Control)

Zwraca źródło danych skojarzone z kontrolką danych dla określonej kontrolki.

FindFieldTemplate(Control, String)

Zwraca szablon pola dla określonej kolumny w kontenerze nazewnictwa określonej kontrolki.

FindMetaTable(Control)

Zwraca obiekt metatable dla kontrolki zawierającej dane.

Dotyczy

Zobacz też