WebPartManager Classe

Definição

Serve como a classe central do conjunto de controlo Web Parts, gerindo todos os controlos, funcionalidades e eventos Web Parts que ocorrem numa página Web.

public ref class WebPartManager : System::Web::UI::Control, System::Web::UI::INamingContainer, System::Web::UI::WebControls::WebParts::IPersonalizable
[System.ComponentModel.Bindable(false)]
public class WebPartManager : System.Web.UI.Control, System.Web.UI.INamingContainer, System.Web.UI.WebControls.WebParts.IPersonalizable
[<System.ComponentModel.Bindable(false)>]
type WebPartManager = class
    inherit Control
    interface INamingContainer
    interface IPersonalizable
Public Class WebPartManager
Inherits Control
Implements INamingContainer, IPersonalizable
Herança
WebPartManager
Atributos
Implementações

Exemplos

O exemplo de código seguinte demonstra tanto o uso declarativo como programático do WebPartManager controlo.

O exemplo de código tem quatro partes:

  • Um controlo de utilizador que permite alterar modos de visualização numa página de Web Parts.

  • Uma página web que contém dois controlos personalizados WebPart que podem ser ligados, e um <asp:webpartmanager> elemento.

  • Um ficheiro de código-fonte que contém dois controlos personalizados WebPart e uma interface personalizada.

  • Uma explicação de como o exemplo funciona num navegador.

O controlo do utilizador tem um controlo de lista suspensa que mostra os modos de visualização possíveis numa página, tendo em conta os controlos Web Parts presentes na página. Na página Web deste exemplo de código, este controlo do utilizador é declarado logo abaixo do WebPartManager elemento na marcação da página, e existe uma Register diretiva perto do topo da página Web para registar o controlo. Para detalhes sobre modos de visualização e uma descrição do código-fonte neste controlo, consulte Walkthrough: Changing Display Modes on a Web Parts Page.

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

A marcação declarativa para a página Web contém Register diretivas tanto para o controlo do utilizador como para os controlos personalizados. Existe um <asp:webpartmanager> elemento, um <asp:webpartzone> elemento para conter os controlos personalizados e um <asp:connectionszone> elemento. A página contém também algum código inline que gere eventos relacionados com a ligação para o WebPartManager controlo; pode ver o efeito deste código ao ligar e desligar os controlos.

<%@ Page Language="C#" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuCS" 
  Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" 
  Assembly="ConnectionSampleCS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 
  private void UpdateLabelData(int wpCount, int connCount)
  {
    Label1.Text = "WebPart Control Count:  " + wpCount.ToString();
    Label2.Text = "Connections Count: " + connCount.ToString();
  }

  protected void WebPartManager1_WebPartsConnected(object sender, WebPartConnectionsEventArgs e)
  {
    UpdateLabelData(WebPartManager1.WebParts.Count,
      WebPartManager1.Connections.Count);
  }

  protected void WebPartManager1_WebPartsDisconnected(object sender, WebPartConnectionsEventArgs e)
  {
    UpdateLabelData(WebPartManager1.WebParts.Count,
      WebPartManager1.Connections.Count);
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
      <asp:WebPartManager ID="WebPartManager1" runat="server"  
        OnWebPartsConnected="WebPartManager1_WebPartsConnected" 
        OnWebPartsDisconnected="WebPartManager1_WebPartsDisconnected" />
    <div>
      <uc1:DisplayModeMenuCS ID="displaymode1" runat="server" />
      <!-- Reference consumer and provider controls in a zone. -->
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" 
            runat="server" 
            Title="Zip Code Control"/>
          <aspSample:WeatherWebPart ID="weather1" 
            runat="server" 
            Title="Weather Control" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
      <br />
      <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
      <!-- Add a ConnectionsZone so users can connect controls. -->
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ register TagPrefix="uc1" 
  TagName="DisplayModeMenuVB" 
  Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" 
  Assembly="ConnectionSampleVB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub WebPartManager1_WebPartsConnected( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.WebParts.WebPartConnectionsEventArgs)
    
    UpdateLabelData(WebPartManager1.WebParts.Count, _
      WebPartManager1.Connections.Count)
    
  End Sub

  Protected Sub WebPartManager1_WebPartsDisconnected( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.WebParts.WebPartConnectionsEventArgs)
    
    UpdateLabelData(WebPartManager1.WebParts.Count, _
      WebPartManager1.Connections.Count)
    
  End Sub
  
  Private Sub UpdateLabelData(ByVal wpCount As Integer, _
    ByVal connCount As Integer)
    
    Label1.Text = "WebPart Control Count:  " & wpCount.ToString()
    Label2.Text = "Connections Count: " & connCount.ToString()
    
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
      <asp:WebPartManager ID="WebPartManager1" runat="server" OnWebPartsConnected="WebPartManager1_WebPartsConnected" OnWebPartsDisconnected="WebPartManager1_WebPartsDisconnected" />
    <div>
      <uc1:DisplayModeMenuVB ID="displaymode1" runat="server" />
      <!-- Reference consumer and provider controls in a zone. -->
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" 
            runat="server" 
            Title="Zip Code Control"/>
          <aspSample:WeatherWebPart ID="weather1" 
            runat="server" 
            Title="Weather Control" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
      <br />
      <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
      <!-- Add a ConnectionsZone so users can connect controls. -->
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server" />
    </div>
    </form>
</body>
</html>

A terceira parte do exemplo é o código-fonte dos controlos. Note que existe uma interface chamada IZipCode, e esta interface é implementada na ZipCodeWebPart classe. Esta classe tem um método especial de callback chamado ProvideIZipCode que serve como fornecedor. O outro tipo, chamado WeatherWebPart, também é implementado com um método especial chamado GetIZipCode, que permite ao controlo atuar como consumidor do outro controlo.

Para que o exemplo de código seja executado, tens de compilar este código-fonte. Pode compilar explicitamente e colocar o assembly resultante na pasta Bin do seu site ou na cache global assembly. Alternativamente, pode colocar o código-fonte na pasta App_Code do seu site, onde será compilado dinamicamente em tempo de execução. Este exemplo de código assume que compilaste o código-fonte numa assembleia, e a Register diretiva na página Web faz referência ao nome da assembleia. Para um guia que demonstra como compilar, consulte Guia: Desenvolvimento e Utilização de um Controlo de Servidor Web Personalizado.

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")]
    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")]
    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")> _
    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")> _
    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

Depois de carregar a página Web num navegador, clique no menu suspenso de controlo da lista Modo de Exibição e selecione Ligar para mudar a página para o modo de ligar. O modo Connect usa o <asp:connectionszone> elemento para permitir criar ligações entre controlos. No modo de ligar, clique na seta para baixo na barra de título do controlo do código postal para ativar o menu de verbos e depois clique em Conectar. Depois de aparecer a interface de ligação, clique no link Criar uma ligação para um Consumidor . Aparece uma célula que tem um controlo de lista suspensa. Selecione Controlo do Tempo na lista suspensa e depois clique em Ligar para completar a ligação dos dois controlos. Clique em Fechar e depois use a lista suspensa do Modo de Visualização para devolver a página ao modo normal de navegação. Pode introduzir um código postal, e o controlo de consumo será atualizado com o valor que inserir. Como a ZipCode propriedade foi marcada com o Personalizable atributo no código-fonte, este valor de propriedade persistirá entre as sessões do navegador, poupando assim o valor introduzido pelo utilizador. Um controlo mais sofisticado do consumidor poderia pegar na informação do código postal, consultar informações meteorológicas com base no código e exibi-la ao utilizador.

Observações

O WebPartManager controlo atua como o hub ou centro de controlo de uma aplicação Web Parts. Deve haver uma — e apenas uma —WebPartManager instância de controlo em cada página que utilize controlos Web Parts. Como na maioria dos aspetos das aplicações Web Parts, o controlo WebPartManager funciona apenas com utilizadores autenticados. Além disso, a sua funcionalidade funciona quase inteiramente com controlos de servidor que residem em zonas Web Parts herdadas da WebZone classe. Os controlos de servidor que residem numa página fora destas zonas podem ter muito pouca funcionalidade ou interação do Web Parts com o WebPartManager controlo.

Como hub para a funcionalidade de Web Parts numa página, o WebPartManager controlo executa os tipos de tarefas descritas na tabela seguinte.

Categoria de tarefa O que o controlo faz
Controlo de Web Parts de Rastreio Controla os muitos tipos diferentes de controlos numa página que fornecem funcionalidades de Web Parts, incluindo WebPart controlos, ligações, zonas e outros.
Adicionar e remover controlos de Web Parts Fornece os métodos para adicionar, eliminar e fechar WebPart controlos numa página.
Administração de ligações Cria ligações entre controlos e monitoriza as ligações, bem como os processos de adição e remoção das mesmas.
Personalização de controlos e páginas Permite aos utilizadores mover os controlos para diferentes locais numa página e lança as vistas onde os utilizadores podem editar a aparência, propriedades e comportamento dos controlos. Mantém definições de personalização específicas para cada página.
Alternar entre diferentes visualizações de página Alterna uma página entre diferentes vistas especializadas da página, para que os utilizadores possam realizar certas tarefas, como alterar o layout da página ou os controlos de edição.
Aumentar os eventos do ciclo de vida das Web Parts Define, eleva e permite aos programadores lidar com eventos do ciclo de vida dos controlos Web Parts, como quando os controlos estão a ser adicionados, movidos, ligados ou eliminados.
Possibilitação da importação e exportação de controlos Exporta fluxos XML que contêm o estado das propriedades dos WebPart controlos e permite aos utilizadores importar os ficheiros para facilitar a personalização de controlos complexos noutras páginas ou sites.

A WebPartManager classe possui um grande conjunto de propriedades. Em consonância com o WebPartManager papel de rastrear outros controlos, possui várias propriedades que referenciam coleções de controlos Web Parts ou outros objetos especiais de Web Parts. As AvailableTransformerspropriedades , Connections, Controls, DisplayModes, DynamicConnections, SupportedDisplayModes, WebParts, , e Zones são todas coleções usadas pelo WebPartManager controlo para o seu rastreio e outras tarefas de gestão.

Outro grupo de propriedades contém avisos personalizáveis que se aplicam em certos cenários que ocorrem numa aplicação Web Parts. Estas incluem as CloseProviderWarning, as DeleteWarning, e as propriedades ExportSensitiveDataWarning .

A WebPartManager classe sobrepõe algumas das suas propriedades base herdadas, que são usadas por muitos controlos de servidores Web. Estas incluem as EnableTheming, SkinID, e Visible as propriedades.

Por fim, existe um conjunto de propriedades úteis para aceder ao estado atual da aplicação. A DisplayMode propriedade indica o modo de exibição atual em que uma página se encontra. A EnableClientScript propriedade indica se um controlo pode renderizar um script do lado do cliente, o que é relevante em situações em que os utilizadores possam ter navegadores com capacidades diferentes ou ter scripts desligados. A Internals propriedade é útil para referenciar uma classe utilitária que contém as chamadas para vários métodos Web Parts importantes usados em casos de extensibilidade. Ao esconder as chamadas para estes métodos numa classe separada (a WebPartManagerInternals classe), a WebPartManager API própria da classe é simplificada. A Personalization propriedade dá acesso aos objetos de personalização que armazenam as definições de personalização dos utilizadores e mantêm esses dados para armazenamento permanente. A SelectedWebPart propriedade indica qual WebPart o controlo numa página que está atualmente selecionado pelo utilizador ou pela aplicação. A IPersonalizable.IsDirty propriedade indica se os dados de personalização personalizados num WebPart controlo foram alterados.

O WebPartManager controlo contém cinco modos de visualização incorporados, ou vistas de uma página Web. Os programadores podem expandir esta funcionalidade, criando modos de exibição personalizados ao estender tipos como a WebZone classe ou a ToolZone classe. Os utilizadores podem alternar uma página para os vários modos de visualização, desde que o tipo adequado de controlos correspondentes a um determinado modo de visualização esteja presente na página.

Note

É possível estender esta funcionalidade para que os utilizadores possam mudar para um modo de exibição personalizado sem ter uma zona correspondente na página. No entanto, o comportamento padrão é que os modos de visualização correspondem a zonas.

Os modos de exibição padrão são representados por campos públicos na WebPartManager classe. A tabela seguinte resume os campos e os modos de visualização a que se referem. O modo de exibição atual de uma página, como referido acima, está sempre referenciado na DisplayMode propriedade, e o conjunto de modos de exibição possível numa página particular, dado o tipo de zonas presentes na página, está contido na SupportedDisplayModes propriedade.

Campo Detalhes do modo de exibição
BrowseDisplayMode A visualização normal do utilizador numa página Web; o modo de exibição padrão e mais comum.
DesignDisplayMode A vista em que os utilizadores podem reorganizar ou eliminar controlos para alterar o layout da página.
EditDisplayMode A vista em que uma interface de utilizador de edição (UI) se torna visível; Os utilizadores podem editar a aparência, propriedades e comportamento dos controlos visíveis no modo normal de navegação.
CatalogDisplayMode A vista em que uma interface de catálogo se torna visível; Os utilizadores podem adicionar controlos a uma página a partir de catálogos de controlos disponíveis.
ConnectDisplayMode A vista em que uma interface de ligação se torna visível; Os utilizadores podem ligar, gerir ou desligar ligações entre controlos.

O WebPartManager controlo contém também vários eventos que são críticos no ciclo de vida das páginas e controlos de Web Parts. Estes eventos fornecem controlo programático preciso sobre o comportamento dos controlos das Web Parts. A maioria dos métodos aplica-se diretamente a WebPart controlos (ou outros controlos de servidor ou utilizador que são colocados em WebPartZoneBase zonas para que possam comportar-se como WebPart controlos). No entanto, alguns eventos dizem respeito ao estado da página ou às ligações nela. A tabela seguinte lista os eventos disponíveis e resume os seus propósitos.

Note

Em todos os casos da tabela seguinte, a palavra "controlo" refere-se a um WebPart controlo ou qualquer controlo de servidor que reside numa zona e é envolto com um GenericWebPart objeto em tempo de execução.

Event Description
AuthorizeWebPart Ocorre pouco antes de um controlo ser adicionado a uma página para verificar que está autorizado.
ConnectionsActivated Ocorre depois de todas as ligações numa página terem sido ativadas.
ConnectionsActivating Ocorre mesmo antes do processo de ativar todas as ligações numa página.
DisplayModeChanged Ocorre depois de o modo de exibição atual de uma página ter mudado.
DisplayModeChanging Ocorre pouco antes do processo de alteração do modo de visualização de uma página.
SelectedWebPartChanged Ocorre depois de a seleção de um controlo ter sido cancelada.
SelectedWebPartChanging Ocorre pouco antes do processo de cancelamento da seleção de um controlo.
WebPartAdded Ocorre depois de um controlo ter sido adicionado a uma zona.
WebPartAdding Ocorre pouco antes do processo de adicionar um controlo a uma zona.
WebPartClosed Ocorre depois de um controlo ter sido fechado (removido de uma página).
WebPartClosing Ocorre pouco antes do processo de encerramento de um controlo.
WebPartDeleted Ocorre depois de uma instância de um controlo dinâmico (criado programaticamente ou adicionado a partir de um catálogo) ter sido permanentemente eliminada.
WebPartDeleting Ocorre pouco antes do processo de eliminar um controlo dinâmico.
WebPartMoved Ocorre depois de um controlo se ter movido dentro da sua zona ou para outra zona.
WebPartMoving Ocorre pouco antes do processo de mover um controlo.
WebPartsConnected Ocorre depois de dois controlos selecionados para participar numa ligação terem estabelecido a ligação.
WebPartsConnecting Ocorre pouco antes do processo de ligação de dois controlos.
WebPartsDisconnected Ocorre depois de dois controlos ligados terem sido desligados.
WebPartsDisconnecting Ocorre pouco antes do processo de desligar dois controlos.

O WebPartManager controlo tem vários métodos para gerir páginas de Web Parts. Um grande conjunto dos métodos, não listados aqui, são métodos cujos nomes assumem a forma de OnEventName. Estes métodos normalmente elevam o evento associado e fornecem ao evento um manipulador do tipo WebPartEventHandler. A maioria destes métodos pode ser ultrapassada por programadores que herdam da WebPartManager classe. Além disso, os programadores de páginas podem fornecer handlers personalizados para os eventos associados a estes métodos. Por exemplo, no caso do WebPartAdded evento, um programador de páginas poderia adicionar um OnWebPartAdded atributo ao <asp:webpartmanager> elemento na marcação de uma página Web e depois atribuir um nome de método personalizado ao atributo para fornecer um tratamento personalizado para o evento. O atributo corresponde ao OnWebPartAdded método, e este padrão básico de tratamento de eventos funciona para a maioria dos eventos Web Parts e seus métodos associados.

Além disso, o WebPartManager controlo tem métodos particulares para a tarefa de gerir WebPart controlos (e controlos de servidor ou utilizador usados como WebPart controlos). Estes métodos incluem AddWebPart, AuthorizeWebPart, CloseWebPart, CreateWebPartCopyWebPart, DeleteWebPart, DisconnectWebPart, BeginWebPartEditing, EndWebPartEditing, ExportWebPartImportWebPartGetGenericWebPartIsAuthorizede .MoveWebPart

Outro conjunto de métodos é especializado em ligações. Isto inclui métodos como ActivateConnections, BeginWebPartConnecting, CanConnectWebParts, ConnectWebParts, CreateAvailableTransformers, DisconnectWebPartsDisconnectWebPart, , EndWebPartConnecting, , GetConsumerConnectionPoints, e GetProviderConnectionPoints.

Por fim, alguns WebPartManager métodos focam-se na funcionalidade de personalização. Estes incluem CreatePersonalization, LoadControlState, SaveCustomPersonalizationState, SetPersonalizationDirty, IPersonalizable.Load, IPersonalizable.Save, , e SaveControlState.

Para mais informações sobre outros WebPartManager métodos acessíveis através da Internals propriedade, consulte a documentação da WebPartManagerInternals aula.

Notas para Herdeiros

O WebPartManager controlo foi concebido para ser estendido. Como é tão central nas aplicações Web Parts, quando se pretende estender um tipo ou controlo específico no conjunto de controlo Web Parts, em muitos casos é necessário também estender a WebPartManager classe, pois é provável que ela tenha alguma propriedade ou método necessário para fazer o seu tipo personalizado funcionar no contexto de uma aplicação Web Parts. A documentação de referência Web Parts (ver System.Web.UI.WebControls.WebParts), ao discutir como estender um tipo de Web Parts, menciona frequentemente o que é necessário para estender a WebPartManager classe, ou mostra como estendê-la num exemplo de código.

Construtores

Name Description
WebPartManager()

Inicializa uma nova instância da WebPartManager classe.

Campos

Name Description
BrowseDisplayMode

Representa o modo de visualização predefinido para páginas que contêm controlos de Web Parts. Este campo é só de leitura.

CatalogDisplayMode

Representa o modo de visualização usado para adicionar controlos de servidor a partir de um catálogo de controlos para uma página Web. Este campo é só de leitura.

ConnectDisplayMode

Representa o modo de exibição utilizado para mostrar uma interface de utilizador especial (UI) para que os utilizadores possam gerir ligações entre WebPart controlos. Este campo é só de leitura.

DesignDisplayMode

Representa o modo de visualização usado para alterar o layout de páginas Web que contêm controlos de Web Parts. Este campo é só de leitura.

EditDisplayMode

Representa o modo de visualização em que os utilizadores finais podem editar e modificar os controlos do servidor. Este campo é só de leitura.

Propriedades

Name Description
Adapter

Recebe o adaptador específico do navegador para o controlo.

(Herdado de Control)
AppRelativeTemplateSourceDirectory

Obtém ou define o diretório virtual relativo à aplicação do Page objeto ou UserControl que contém este controlo.

(Herdado de Control)
AvailableTransformers

Obtém uma coleção de WebPartTransformer objetos disponíveis para utilização na criação de ligações Web Parts entre controlos de servidor.

BindingContainer

Obtém o controlo que contém a ligação de dados desse controlo.

(Herdado de Control)
ChildControlsCreated

Recebe um valor que indica se os controlos filhos do controlo do servidor foram criados.

(Herdado de Control)
ClientID

Obtém o ID de controlo para a marcação HTML gerada pelo ASP.NET.

(Herdado de Control)
ClientIDMode

Obtém ou define o algoritmo que é usado para gerar o valor da ClientID propriedade.

(Herdado de Control)
ClientIDSeparator

Obtém um valor de carácter que representa o carácter separador usado na ClientID propriedade.

(Herdado de Control)
CloseProviderWarning

Recebe ou define um aviso que é exibido quando um utilizador fecha um controlo que atua como fornecedor de outros controlos numa ligação.

Connections

Obtém uma referência à coleção de todas as ligações atuais numa página Web.

Context

Obtém o controlo do HttpContext objeto associado ao servidor para o pedido Web atual.

(Herdado de Control)
Controls

Obtém a coleção de todos WebPartos controlos de servidor ou utilizador que estão contidos em WebPartZoneBase zonas de uma página Web e são geridos pelo controlo WebPartManager .

DataItemContainer

Obtém uma referência ao contentor de nomes se o contentor implementar IDataItemContainer.

(Herdado de Control)
DataKeysContainer

Obtém uma referência ao contentor de nomes se o contentor implementar IDataKeysControl.

(Herdado de Control)
DeleteWarning

Recebe ou define uma mensagem de aviso personalizada para os utilizadores finais quando eliminam um controlo.

DesignMode

Obtém um valor que indica se um controlo está a ser usado numa superfície de projeto.

(Herdado de Control)
DisplayMode

Obtém ou define o modo de exibição ativo para uma página Web que contém controlos de Web Parts.

DisplayModes

Obtém uma coleção de apenas leitura de todos os modos de visualização associados a um WebPartManager controlo.

DynamicConnections

Obtém a coleção de todas as ligações dinâmicas que existem atualmente numa página Web.

EnableClientScript

Recebe ou define um valor que determina se o scripting do lado do cliente está ativado na página Web que contém um WebPartManager controlo.

EnableTheming

Recebe um valor que indica que o uso de temas está ativado numa página Web.

EnableViewState

Recebe ou define um valor que indica se o controlo do servidor mantém o seu estado de visualização, e o estado de vista de quaisquer controlos filhos que contém, para o cliente solicitante.

(Herdado de Control)
Events

Obtém uma lista de delegados handler de eventos para o controlo. Esta propriedade é somente leitura.

(Herdado de Control)
ExportSensitiveDataWarning

Recebe ou define o texto de uma mensagem de aviso que é exibida quando um utilizador tenta exportar dados de estado sensíveis de um WebPart controlo.

HasChildViewState

Recebe um valor que indica se os controlos filhos do controlo atual do servidor têm alguma configuração de estado de visualização guardada.

(Herdado de Control)
ID

Obtém ou define o identificador programático atribuído ao controlo do servidor.

(Herdado de Control)
IdSeparator

Faz com que o carácter seja usado para separar identificadores de controlo.

(Herdado de Control)
Internals

Obtém uma referência à WebPartManagerInternals classe, que é usada para combinar e separar um conjunto de métodos que são realmente implementados na WebPartManager classe, mas que são principalmente úteis para desenvolvedores de controlo.

IsChildControlStateCleared

Obtém um valor que indica se os controlos contidos neste controlo têm estado de controlo.

(Herdado de Control)
IsCustomPersonalizationStateDirty

Obtém um valor que indica se foram feitas alterações de personalização que afetam detalhes de personalização ao nível da página controlados pelo WebPartManager controlo.

IsTrackingViewState

Recebe um valor que indica se o controlo do servidor está a guardar alterações ao estado de visualização.

(Herdado de Control)
IsViewStateEnabled

Recebe um valor que indica se o estado de visualização está ativado para este controlo.

(Herdado de Control)
LoadViewStateByID

Recebe um valor que indica se o controlo participa no carregamento do seu estado de visualização em ID vez de index.

(Herdado de Control)
MediumPermissionSet

Recebe um PermissionSet objeto que só Execution permite permissão e Medium permissão.

MinimalPermissionSet

Recebe um PermissionSet objeto que só Execution permite permissão e Minimal permissão.

NamingContainer

Obtém uma referência ao contentor de nomes do controlo do servidor, que cria um namespace único para diferenciar controlos de servidor com o mesmo ID valor de propriedade.

(Herdado de Control)
Page

Obtém uma referência à Page instância que contém o controlo do servidor.

(Herdado de Control)
Parent

Obtém uma referência ao controlo pai do controlo do servidor na hierarquia de controlo de página.

(Herdado de Control)
Personalization

Obtém uma referência a um objeto que contém dados de personalização para uma página Web.

RenderingCompatibility

Recebe um valor que especifica a versão ASP.NET com a qual o HTML renderizado será compatível.

(Herdado de Control)
SelectedWebPart

Recebe uma referência a um WebPart ou outro controlo de servidor que está atualmente selecionado para edição ou para criar uma ligação com outro controlo.

Site

Obtém informação sobre o contentor que aloja o controlo atual quando renderizado numa superfície de design.

(Herdado de Control)
SkinID

Recebe ou define uma corda vazia ("") para que nenhuma skin possa ser aplicada ao WebPartManager controlo.

StaticConnections

Obtém uma referência à coleção de todos WebPartConnection os objetos numa página Web que são definidos como ligações estáticas.

SupportedDisplayModes

Obtém uma coleção de apenas leitura de todos os modos de visualização disponíveis numa página Web específica.

TemplateControl

Recebe ou define uma referência ao template que contém esse controlo.

(Herdado de Control)
TemplateSourceDirectory

Obtém o diretório virtual do Page ou UserControl que contém o controlo atual do servidor.

(Herdado de Control)
UniqueID

Obtém o identificador único e hierarquicamente qualificado para o controlo do servidor.

(Herdado de Control)
ValidateRequestMode

Recebe ou define um valor que indica se o controlo verifica a entrada do cliente do navegador para valores potencialmente perigosos.

(Herdado de Control)
ViewState

Obtém um dicionário de informação de estado que permite guardar e restaurar o estado de visualização de um controlo de servidor através de múltiplos pedidos para a mesma página.

(Herdado de Control)
ViewStateIgnoresCase

Obtém um valor que indica se o StateBag objeto é indistinto a maiúsculas e maiúsculas.

(Herdado de Control)
ViewStateMode

Obtém ou define o modo view-state deste controlo.

(Herdado de Control)
Visible

Obtém um valor que permite que os controlos filhos sejam visíveis.

WebParts

Obtém uma referência a todos os WebPart controlos rastreados pelo WebPartManager controlo numa página Web.

Zones

Recebe uma referência a uma coleção de todas as WebPartZoneBase zonas numa página Web.

Métodos

Name Description
ActivateConnections()

Ativa todas as ligações numa página Web que estão atualmente inativas.

AddedControl(Control, Int32)

Chamado após um controlo filho ser adicionado à Controls coleção do Control objeto.

(Herdado de Control)
AddParsedSubObject(Object)

Notifica o controlo do servidor que um elemento, seja XML ou HTML, foi analisado, e adiciona o elemento ao objeto do ControlCollection controlo do servidor.

(Herdado de Control)
AddWebPart(WebPart, WebPartZoneBase, Int32)

Fornece o método programático padrão para adicionar WebPart controlos a uma página Web.

ApplyStyleSheetSkin(Page)

Aplica as propriedades de estilo definidas na folha de estilo da página ao controlo.

(Herdado de Control)
BeginRenderTracing(TextWriter, Object)

Inicia o rastreio em tempo de design dos dados de renderização.

(Herdado de Control)
BeginWebPartConnecting(WebPart)

Inicia o processo de ligação de dois WebPart controlos.

BeginWebPartEditing(WebPart)

Inicia o processo de edição de um WebPart controlo.

BuildProfileTree(String, Boolean)

Recolhe informações sobre o controlo do servidor e entrega-as à Trace propriedade para serem exibidas quando o rastreamento for ativado para a página.

(Herdado de Control)
CanConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Verifica os WebPart controlos que irão participar numa ligação para determinar se são capazes de ser ligados, e usa um WebPartTransformer objeto para criar a ligação entre um consumidor e um fornecedor incompatíveis.

CanConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Verifica os WebPart controlos que irão participar numa ligação para determinar se são capazes de ser ligados, quando os controlos do consumidor e do fornecedor têm interfaces compatíveis e um WebPartTransformer objeto não é necessário.

CheckRenderClientScript()

Verifica as capacidades do navegador que faz o pedido, e o valor da EnableClientScript propriedade, para determinar se deve renderizar o script do cliente.

ClearCachedClientID()

Define o valor em ClientID cache para null.

(Herdado de Control)
ClearChildControlState()

Apaga a informação de estado de controlo dos controlos filhos do controlo do servidor.

(Herdado de Control)
ClearChildState()

Apaga a informação de view-state e control-state de todos os controlos filhos do servidor.

(Herdado de Control)
ClearChildViewState()

Elimina a informação de estado de visualização de todos os controlos filhos do controlo do servidor.

(Herdado de Control)
ClearEffectiveClientIDMode()

Define a ClientIDMode propriedade da instância de controlo atual e de qualquer controlo filho para Inherit.

(Herdado de Control)
CloseWebPart(WebPart)

Fecha um WebPart controlo de forma a que não seja renderizado numa página Web, mas possa ser reaberto.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Cria uma ligação entre dois WebPart ou GenericWebPart controlos usando as referências aos controlos, os seus objetos especificados ConnectionPoint e um WebPartTransformer objeto.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Cria uma ligação entre dois WebPart controlos GenericWebPart usando apenas as referências aos controlos e aos seus objetos especificados ConnectionPoint .

CopyWebPart(WebPart)

Usado pelo conjunto de controlos Web Parts para criar uma cópia de um WebPart ou controlo de servidor com o propósito de adicionar o controlo a uma página Web.

CreateAvailableTransformers()

Cria um conjunto de transformadores especificados no ficheiro de configuração de um site e adiciona-os à coleção de transformadores referenciada pela AvailableTransformers propriedade.

CreateChildControls()

Chamada pelo framework de páginas ASP.NET para notificar os controlos de servidor que utilizam implementação baseada em composição para criar quaisquer controlos filhos que contenham em preparação para publicação ou renderização.

(Herdado de Control)
CreateControlCollection()

Devolve a coleção de todos os controlos que são geridos pelo WebPartManager controlo numa página Web. Esta classe não pode ser herdada.

CreateDisplayModes()

Cria o conjunto de todos os modos de visualização possíveis para uma aplicação Web Parts.

CreateDynamicConnectionID()

Recebe um valor único para servir como ID para uma ligação dinâmica.

CreateDynamicWebPartID(Type)

Gera um ID único para um controlo dinâmico WebPart .

CreateErrorWebPart(String, String, String, String, String)

Cria um controlo especial que é inserido numa página e exibido para os utilizadores finais quando uma tentativa de carregar ou criar um controlo dinâmico WebPart falha por algum motivo.

CreatePersonalization()

Devolve um objeto de personalização para conter os dados de personalização do utilizador para a página Web atual.

CreateWebPart(Control)

Envolve um controlo de servidor que não é WebPart um controlo com um GenericWebPart objeto, para que o controlo possa ter funcionalidade de Web Parts.

DataBind()

Vincula uma fonte de dados ao controlo do servidor invocado e a todos os seus controlos filhos.

(Herdado de Control)
DataBind(Boolean)

Vincula uma fonte de dados ao controlo do servidor invocado e a todos os seus controlos filhos com uma opção para elevar o DataBinding evento.

(Herdado de Control)
DataBindChildren()

Vincula uma fonte de dados aos controlos filhos do controlo do servidor.

(Herdado de Control)
DeleteWebPart(WebPart)

Remove permanentemente uma instância dinâmica de um WebPart controlo de uma página Web.

DisconnectWebPart(WebPart)

Remove um WebPart ou um controlo de servidor que está a ser fechado ou eliminado de quaisquer ligações em que esteja a participar.

DisconnectWebParts(WebPartConnection)

Executa o processo de desligar os controlos do servidor que estão ligados numa página Web.

Dispose()

Permite que o controlo do servidor realize a limpeza final antes de ser libertado da memória.

(Herdado de Control)
EndRenderTracing(TextWriter, Object)

Termina o rastreio de tempo de design dos dados de renderização.

(Herdado de Control)
EndWebPartConnecting()

Conclui o processo de ligação de um WebPart controlo a outro controlo.

EndWebPartEditing()

Completa o processo de edição de um WebPart controlo.

EnsureChildControls()

Determina se o controlo do servidor contém controlos filhos. Se não o fizer, cria controlos filhos.

(Herdado de Control)
EnsureID()

Cria um identificador para controlos que não têm um identificador atribuído.

(Herdado de Control)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportWebPart(WebPart, XmlWriter)

Cria um ficheiro de descrição XML que contém dados de estado e propriedades para um controlo de servidor.

FindControl(String, Int32)

Pesquisa no contentor de nomenclatura atual um controlo de servidor com o especificado id e um inteiro, especificados no pathOffset parâmetro, o que auxilia na pesquisa. Não deve sobrepor-se a esta versão do FindControl método.

(Herdado de Control)
FindControl(String)

Procura no contentor de nomenclatura atual um controlo de servidor com o parâmetro especificado id .

(Herdado de Control)
Focus()

Anulado para evitar que o foco seja colocado no WebPartManager controlo, porque não tem interface de utilizador (UI).

GetConsumerConnectionPoints(WebPart)

Recupera a coleção de ConsumerConnectionPoint objetos que podem atuar como pontos de ligação a partir de um controlo de servidor que atua como consumidor dentro de uma ligação Web Parts.

GetCurrentWebPartManager(Page)

Recupera uma referência à instância atual do WebPartManager controlo numa página.

GetDesignModeState()

Obtém dados de tempo de projeto para um controlo.

(Herdado de Control)
GetDisplayTitle(WebPart)

Obtém uma cadeia contendo o valor da DisplayTitle propriedade de um WebPart controlo.

GetExportUrl(WebPart)

Obtém o caminho virtual relativo e a cadeia de consulta que fazem parte do pedido quando um utilizador tenta exportar um WebPart controlo.

GetGenericWebPart(Control)

Obtém uma referência à instância do GenericWebPart controlo que contém um controlo de servidor.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetProviderConnectionPoints(WebPart)

Recupera a coleção de ProviderConnectionPoint objetos que podem atuar como pontos de ligação a partir de um controlo de servidor que atua como fornecedor dentro de uma ligação Web Parts.

GetRouteUrl(Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

(Herdado de Control)
GetRouteUrl(String, Object)

Obtém o URL que corresponde a um conjunto de parâmetros de rota e a um nome de rota.

(Herdado de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtém o URL que corresponde a um conjunto de parâmetros de rota e a um nome de rota.

(Herdado de Control)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUniqueIDRelativeTo(Control)

Devolve a parte prefixada da UniqueID propriedade do controlo especificado.

(Herdado de Control)
HasControls()

Determina se o controlo do servidor contém algum controlo filho.

(Herdado de Control)
HasEvents()

Devolve um valor que indica se os eventos estão registados para o controlo ou para quaisquer controlos filhos.

(Herdado de Control)
ImportWebPart(XmlReader, String)

Importa um ficheiro de descrição XML que contém dados de estado e propriedades de um WebPart controlo, e aplica os dados ao controlo.

IsAuthorized(Type, String, String, Boolean)

Realiza os passos finais para determinar se um controlo está autorizado a ser adicionado a uma página.

IsAuthorized(WebPart)

Realiza os passos iniciais para determinar se um controlo está autorizado a ser adicionado a uma página.

IsLiteralContent()

Determina se o controlo do servidor contém apenas conteúdo literal.

(Herdado de Control)
LoadControlState(Object)

Carrega dados de estado de controlo que foram guardados de um pedido de página anterior e que precisam de ser restaurados num pedido subsequente.

LoadCustomPersonalizationState(PersonalizationDictionary)

Armazena os dados de personalização personalizados que foram passados para o WebPartManager controlo pelos objetos de personalização para serem usados posteriormente durante o processo de inicialização.

LoadViewState(Object)

Restaura a informação de estado de visualização de um pedido anterior de página que foi guardado pelo SaveViewState() método.

(Herdado de Control)
MapPathSecure(String)

Recupera o caminho físico para o qual um caminho virtual, seja absoluto ou relativo, mapeia.

(Herdado de Control)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MoveWebPart(WebPart, WebPartZoneBase, Int32)

Move um WebPart controlo de servidor de uma WebPartZoneBase zona para outra, ou para uma nova posição dentro da mesma zona.

OnAuthorizeWebPart(WebPartAuthorizationEventArgs)

Eleva o AuthorizeWebPart evento e invoca um handler para o evento, se existir um.

OnBubbleEvent(Object, EventArgs)

Determina se o evento para o controlo do servidor é passado para a hierarquia de controlo do servidor UI da página.

(Herdado de Control)
OnConnectionsActivated(EventArgs)

Levanta o ConnectionsActivated evento para indicar que uma página e os seus controlos estão carregados, e que as ligações na página foram ativadas para começar a partilhar dados.

OnConnectionsActivating(EventArgs)

Levanta o ConnectionsActivating evento para indicar que uma página e os seus controlos foram carregados, e o processo de ativação das ligações pode começar.

OnDataBinding(EventArgs)

Eleva o DataBinding evento.

(Herdado de Control)
OnDisplayModeChanged(WebPartDisplayModeEventArgs)

Eleva o DisplayModeChanged evento para indicar que o WebPartManager controlo completou o processo de mudança de um modo de exibição para outro numa página Web.

OnDisplayModeChanging(WebPartDisplayModeCancelEventArgs)

Levanta o DisplayModeChanging evento para indicar que o controlo WebPartManager está a mudar de um modo de exibição para outro numa página Web.

OnInit(EventArgs)

Eleva o Init evento, que é o primeiro evento no WebPartManager ciclo de vida do controlo.

OnLoad(EventArgs)

Eleva o Load evento.

(Herdado de Control)
OnPreRender(EventArgs)

Levanta o PreRender evento, que ocorre pouco antes de um WebPartManager controlo ser renderizado numa página Web.

OnSelectedWebPartChanged(WebPartEventArgs)

Aumenta o SelectedWebPartChanged evento, que ocorre depois de um WebPart controlo ter sido selecionado recentemente ou ter a sua seleção aprovada.

OnSelectedWebPartChanging(WebPartCancelEventArgs)

Levanta o SelectedWebPartChanging evento, que ocorre durante o processo de alteração do WebPart controlo atualmente selecionado.

OnUnload(EventArgs)

Eleva o evento base Unload e remove a WebPartManager instância de uma página Web.

OnWebPartAdded(WebPartEventArgs)

Aumenta o WebPartAdded evento, que ocorre depois de um WebPart controlo ter sido adicionado a uma página.

OnWebPartAdding(WebPartAddingEventArgs)

Eleva o WebPartAdding evento, que ocorre durante o processo de adicionar um WebPart controlo (ou um controlo de servidor ou utilizador) a uma WebPartZoneBase zona.

OnWebPartClosed(WebPartEventArgs)

Levanta o WebPartClosed evento para sinalizar que um controlo foi removido de uma página.

OnWebPartClosing(WebPartCancelEventArgs)

Levanta o WebPartClosing evento, que ocorre durante o processo de remoção de um WebPart controlo ou de servidor de uma página.

OnWebPartDeleted(WebPartEventArgs)

Aumenta o WebPartDeleted evento, que ocorre depois de um WebPart controlo ter sido eliminado permanentemente de uma página.

OnWebPartDeleting(WebPartCancelEventArgs)

Levanta o WebPartDeleting evento, o que indica que um controlo dinâmico WebPart (ou controlo de servidor ou utilizador contido numa WebPartZoneBase zona) está a ser eliminado.

OnWebPartMoved(WebPartEventArgs)

Eleva o WebPartMoved evento, que ocorre depois de um WebPart controlo ter sido movido para uma localização diferente numa página.

OnWebPartMoving(WebPartMovingEventArgs)

Aumenta o WebPartMoving evento, o que indica que um WebPart controlo de servidor ou utilizador numa WebPartZoneBase zona está a ser movido.

OnWebPartsConnected(WebPartConnectionsEventArgs)

Eleva o WebPartsConnected evento, que ocorre depois de ter sido estabelecida uma ligação entre WebPart controlos.

OnWebPartsConnecting(WebPartConnectionsCancelEventArgs)

Levanta o WebPartsConnecting evento, que ocorre durante o processo de estabelecer uma ligação entre dois WebPart controlos de servidor ou utilizador contidos numa WebPartZoneBase zona.

OnWebPartsDisconnected(WebPartConnectionsEventArgs)

Levanta o WebPartsDisconnected evento, que ocorre depois de uma ligação entre WebPart controlos ter terminado.

OnWebPartsDisconnecting(WebPartConnectionsCancelEventArgs)

Aumenta o WebPartsDisconnecting evento, o que indica que dois WebPart controlos de servidor ou utilizador numa WebPartZoneBase zona estão a terminar uma ligação.

OpenFile(String)

Recebe um Stream usado para ler um ficheiro.

(Herdado de Control)
RaiseBubbleEvent(Object, EventArgs)

Atribui quaisquer fontes do evento e da sua informação ao pai do controlo.

(Herdado de Control)
RegisterClientScript()

Permite que o WebPartManager controlo emita um script do lado do cliente que é usado para várias funcionalidades de personalização, como arrastar WebPart controlos numa página Web.

RemovedControl(Control)

Chamado após um controlo filho ser removido da Controls coleção do Control objeto.

(Herdado de Control)
Render(HtmlTextWriter)

Sobrescrito para impedir que o WebPartManager controlo renderize qualquer conteúdo.

RenderChildren(HtmlTextWriter)

Exporta o conteúdo dos filhos de um controlo de servidor para um objeto fornecido HtmlTextWriter , que escreve o conteúdo a ser renderizado no cliente.

(Herdado de Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Fornece conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter usando um objeto fornecido ControlAdapter .

(Herdado de Control)
RenderControl(HtmlTextWriter)

Fornece conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter e armazena informação de rastreamento sobre o controlo se o rastreio estiver ativado.

(Herdado de Control)
ResolveAdapter()

Faz com que o adaptador de controlo seja responsável por renderizar o controlo especificado.

(Herdado de Control)
ResolveClientUrl(String)

Recebe um URL que pode ser usado pelo navegador.

(Herdado de Control)
ResolveUrl(String)

Converte uma URL numa que seja utilizável no cliente solicitante.

(Herdado de Control)
SaveControlState()

Guarda os dados de estado para o WebPartManager controlo, para que os dados possam ser restaurados em pedidos futuros na página Web que contém o controlo.

SaveCustomPersonalizationState(PersonalizationDictionary)

Guarda os dados personalizados de estado de personalização mantidos pelo WebPartManager controlo, para que estes dados possam ser recarregados sempre que a página for recarregada.

SaveViewState()

Guarda quaisquer alterações de estado de visualização no controlo do servidor que tenham ocorrido desde o momento em que a página foi publicada de volta no servidor.

(Herdado de Control)
SetDesignModeState(IDictionary)

Define dados em tempo de projeto para um controlo.

(Herdado de Control)
SetPersonalizationDirty()

Define um flag indicando que os dados de personalização personalizados do WebPartManager controlo foram alterados.

SetRenderMethodDelegate(RenderMethod)

Atribui um delegado handler de eventos para renderizar o controlo do servidor e o seu conteúdo no controlo pai.

(Herdado de Control)
SetSelectedWebPart(WebPart)

Define o SelectedWebPart valor da propriedade igual ao controlo atualmente selecionado WebPart ou do servidor.

SetTraceData(Object, Object, Object)

Define os dados de rastreio para o rastreio em tempo de design dos dados de renderização, usando o objeto rastreado, a chave de dados de traço e o valor dos dados de traço.

(Herdado de Control)
SetTraceData(Object, Object)

Define os dados de rastreio para o rastreio em tempo de design dos dados de renderização, usando a chave de dados de traço e o valor dos dados de traço.

(Herdado de Control)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Aplica dados de estado de personalização ao WebPartManager controlo e chama o método base para permitir o rastreio de alterações nos dados de estado de visualização do controlo.

evento

Name Description
AuthorizeWebPart

Ocorre quando o IsAuthorized método é chamado para determinar se um WebPart controlo de servidor pode ser adicionado a uma página.

ConnectionsActivated

Ocorre depois de todas as ligações Web Parts atuais numa página não só estarem ligadas, como também começaram a partilhar ativamente dados entre os controlos do consumidor e do fornecedor envolvidos em cada ligação.

ConnectionsActivating

Ocorre durante o processo de ativação de todas as ligações Web Parts estabelecidas numa página Web.

DataBinding

Ocorre quando o controlo do servidor se liga a uma fonte de dados.

(Herdado de Control)
DisplayModeChanged

Ocorre depois de o modo de exibição atual numa página de Web Parts ter mudado.

DisplayModeChanging

Ocorre depois de um utilizador clicar num verbo numa página Web que inicia o processo de mudança para um modo de visualização diferente.

Disposed

Ocorre quando um controlo de servidor é libertado da memória, que é a última etapa do ciclo de vida do controlo do servidor quando uma página ASP.NET é solicitada.

(Herdado de Control)
Init

Ocorre quando o controlo do servidor é inicializado, que é o primeiro passo no seu ciclo de vida.

(Herdado de Control)
Load

Ocorre quando o controlo do servidor é carregado no Page objeto.

(Herdado de Control)
PreRender

Ocorre depois do carregamento do Control objeto, mas antes da renderização.

(Herdado de Control)
SelectedWebPartChanged

Ocorre depois de a seleção de um WebPart controlo ter sido alterada e transferida para outro controlo numa página Web.

SelectedWebPartChanging

Ocorre durante o processo de alteração de qual WebPart ou o controlo do servidor está atualmente selecionado numa página Web.

Unload

Ocorre quando o controlo do servidor é descarregado da memória.

(Herdado de Control)
WebPartAdded

Ocorre depois de um controlo dinâmico WebPart ou de outro servidor ter sido adicionado a uma WebPartZoneBase zona, para indicar que o controlo foi adicionado com sucesso.

WebPartAdding

Ocorre durante o processo de adicionar um controlo dinâmico WebPart ou outro de servidor a uma WebPartZoneBase zona.

WebPartClosed

Ocorre quando um WebPart controlo (ou controlo de servidor ou utilizador) é removido de uma página.

WebPartClosing

Ocorre durante o processo de remoção de um WebPart controlo (ou controlo de servidor ou utilizador) de uma página.

WebPartDeleted

Ocorre depois de um WebPart ou outro controlo de servidor ter sido eliminado de uma WebPartZoneBase zona.

WebPartDeleting

Ocorre durante o processo de eliminação permanente de uma instância de um controlo dinâmico WebPart ou outro servidor de uma WebPartZoneBase zona.

WebPartMoved

Ocorre depois de um WebPart ou um controlo de servidor ter sido movido para um local diferente numa página Web.

WebPartMoving

Ocorre durante o processo de movimentação de um WebPart ou outro controlo de servidor que está contido numa WebPartZoneBase zona.

WebPartsConnected

Ocorre depois de uma ligação específica ter sido estabelecida entre WebPart controlos (ou controlos de servidor ou utilizador).

WebPartsConnecting

Ocorre durante o processo de criação de uma ligação entre WebPart controlos (ou controlos de servidor ou utilizador colocados numa WebPartZoneBase zona).

WebPartsDisconnected

Ocorre depois de uma ligação entre dois WebPart controlos de servidor ter sido terminada.

WebPartsDisconnecting

Ocorre durante o processo de terminar a ligação entre controlos previamente conectados WebPart ou do servidor.

Implementações de Interface Explícita

Name Description
IControlBuilderAccessor.ControlBuilder

Para uma descrição deste elemento, veja ControlBuilder.

(Herdado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para uma descrição deste elemento, veja GetDesignModeState().

(Herdado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para uma descrição deste elemento, veja SetDesignModeState(IDictionary).

(Herdado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para uma descrição deste elemento, veja SetOwnerControl(Control).

(Herdado de Control)
IControlDesignerAccessor.UserData

Para uma descrição deste elemento, veja UserData.

(Herdado de Control)
IDataBindingsAccessor.DataBindings

Para uma descrição deste elemento, veja DataBindings.

(Herdado de Control)
IDataBindingsAccessor.HasDataBindings

Para uma descrição deste elemento, veja HasDataBindings.

(Herdado de Control)
IExpressionsAccessor.Expressions

Para uma descrição deste elemento, veja Expressions.

(Herdado de Control)
IExpressionsAccessor.HasExpressions

Para uma descrição deste elemento, veja HasExpressions.

(Herdado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para uma descrição deste elemento, veja AddParsedSubObject(Object).

(Herdado de Control)
IPersonalizable.IsDirty

Obtém um valor que indica se os dados de estado de personalização personalizados geridos pelo WebPartManager controlo mudaram numa página Web.

IPersonalizable.Load(PersonalizationDictionary)

Devolve dados de estado personalizados previamente guardados que precisam de ser carregados no WebPartManager controlo.

IPersonalizable.Save(PersonalizationDictionary)

Guarda dados personalizados de estado de personalização que são geridos pelo WebPartManager controlo.

Métodos da Extensão

Name Description
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>)

Ativa o comportamento de Dados Dinâmicos para o controlo de dados especificado.

EnableDynamicData(INamingContainer, Type, Object)

Ativa o comportamento de Dados Dinâmicos para o controlo de dados especificado.

EnableDynamicData(INamingContainer, Type)

Ativa o comportamento de Dados Dinâmicos para o controlo de dados especificado.

FindDataSourceControl(Control)

Devolve a fonte de dados associada ao controlo de dados para o controlo especificado.

FindFieldTemplate(Control, String)

Devolve o modelo de campo para a coluna especificada no contentor de nomenclatura do controlo especificado.

FindMetaTable(Control)

Devolve o objeto metatable para o controlo de dados que contém.

GetDefaultValues(INamingContainer)

Obtém a recolha dos valores padrão para o controlo de dados especificado.

GetMetaTable(INamingContainer)

Obtém os metadados da tabela para o controlo de dados especificado.

SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>)

Define os metadados da tabela e o mapeamento de valores padrão para o controlo de dados especificado.

SetMetaTable(INamingContainer, MetaTable, Object)

Define os metadados da tabela e o mapeamento de valores padrão para o controlo de dados especificado.

SetMetaTable(INamingContainer, MetaTable)

Define os metadados da tabela para o controlo de dados especificado.

TryGetMetaTable(INamingContainer, MetaTable)

Determina se os metadados da tabela estão disponíveis.

Aplica-se a

Ver também