|
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
|
Traducción
Original
|
WebPartConnection (Clase)
Espacio de nombres: System.Web.UI.WebControls.WebParts
Ensamblado: System.Web (en System.Web.dll)
El tipo WebPartConnection expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
![]() | WebPartConnection |
| Nombre | Descripción | |
|---|---|---|
![]() | Consumer | |
![]() | ConsumerConnectionPoint | |
![]() | ConsumerConnectionPointID | |
![]() | ConsumerID | |
![]() | ID | |
![]() | IsActive | |
![]() | IsShared | |
![]() | IsStatic | |
![]() | Provider | |
![]() | ProviderConnectionPoint | |
![]() | ProviderConnectionPointID | |
![]() | ProviderID | |
![]() | Transformer | |
![]() | Transformers | Infraestructura. |
| Nombre | Descripción | |
|---|---|---|
![]() | Equals(Object) | |
![]() | GetHashCode | |
![]() | GetType | |
![]() | ToString |
dos controles de WebPart . Cada conexión de elementos web consta de dos controles. Es posible que un control participa en varias conexiones simultáneamente, pero cada conexión consta de exactamente dos controles. Los controles pueden derivar directamente de la clase base de WebPart , o pueden ser otros controles de servidor, incluidos los controles ASP.NET, los controles de servidor personalizados, y los controles de usuario. Los Controles que no se derivan de la clase de WebPart , si están colocados en una zona de WebPartZoneBase , automáticamente se ajustan a un objeto de GenericWebPart en tiempo de ejecución, que les permite heredan de la clase de WebPart y la función como el tiempo de ejecución WebPart controla. Controles que se encuentran en las zonas de WebPartZoneBase . Ambos controles de WebPart y cualquier otro tipo de control de servidor deben residir en una zona de WebPartZoneBase para poder participar en conexiones de elementos web (y la mayoría de las otras características de elementos web). consumidores y proveedores. En cada conexión de elementos web hay dos controles: un proveedor de datos y de un consumidor de datos. El proveedor proporciona datos al consumidor con un método de devolución de llamada especificado que devuelve datos en forma de interfaz. (Para obtener un ejemplo de cómo crear y especificar el método de devolución de llamada, vea la sección Ejemplo de este tema). Este método de devolución de llamada se conoce como punto de conexión del proveedor. Los detalles de este punto de conexión (el “nombre descriptivo”, un identificador, y el tipo de interfaz devuelta) contenidas en un objeto de ProviderConnectionPoint asociado al control del proveedor. El consumidor recibe los datos con un método especificado que puede aceptar una instancia de interfaz. Este método se conoce como punto de conexión consumidor, y la información de los puntos de conexión (nombre, ID, y el tipo de interfaz) contenidas en un objeto de ConsumerConnectionPoint asociado al control de usuario. Controles compatible o un transformador válido. Para una conexión al trabajo, el consumidor y proveedor deben o ser compatibles (significa que los métodos especificados de punto de conexión pueden ejecutar el mismo tipo de interfaz), o debe haber un objeto de WebPartTransformer capaz de convertir el tipo proporcionado por el proveedor en un tipo válido para el consumidor. un objeto de WebPartConnection . Para que una conexión existe, debe haber una instancia de la clase de WebPartConnection que contiene referencias al proveedor y controles de usuario, junto con los detalles de los puntos de conexión. Si el proveedor y consumidor son incompatibles y en su lugar utilizan un objeto de WebPartTransformer para conectarse, la conexión hace referencia al transformador. significa de establecer la conexión. Una vez que los controles compatibles de consumidor y proveedor se hayan diseñado correctamente con métodos de punto de conexión y se hayan colocado en una zona, y un objeto de WebPartConnection disponible, el paso básico último necesario es iniciar la conexión. Una manera de que esto puede ocurrir es que los usuarios realicen la conexión con la interfaz de usuario. Si se coloca un elemento de <asp:connectionszone> en la página, y otros componentes necesarios para una conexión existen, en tiempo de ejecución que un usuario puede cambiar la página en modo de presentación conectarse, haga clic en un verbo conectarse en el menú de verbos del proveedor o consumidor, y una interfaz de usuario de la conexión (basada en el control de ConnectionsZone ) aparecerá. con esta interfaz de usuario, el usuario puede iniciar la conexión. Otra manera de iniciar la conexión es hacerlo mediante programación. En cualquier caso, si con la interfaz de usuario o mediante programación, el método subyacente que inicia la conexión es igual. La aplicación llama al método de ConnectWebParts (o el método de ConnectWebParts si utiliza un transformador) en el control de WebPartManager , pasando a ella el proveedor, el consumidor, y sus objetos respectivos de punto de conexión, y el método devuelve un objeto de WebPartConnection .
| Topic | Location |
|---|---|
| Cómo: Declarar una conexión estática entre dos controles de elementos Web | Generar aplicaciones Web ASP .NET |
| Cómo: Declarar una conexión estática entre dos controles de elementos Web | Generar aplicaciones Web ASP .NET en Visual Studio |
Un control de usuario que permite cambiar el modo de presentación de elementos web en una página. Código fuente para una interfaz y dos controles de WebPart que actúan como el proveedor y consumidor para una conexión. Una página Web para hospedar todos los controles y ejecute el ejemplo de código. Una explicación de cómo trabajar con la página de ejemplo.
<%@ 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>
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 (input.Text != String.Empty) { 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); } } }
<%@ Page Language="C#" %> <%@ Register TagPrefix="uc1" TagName="DisplayModeMenuCS" Src="~/displaymodemenucs.ascx" %> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Button1_Click(object sender, EventArgs e) { ProviderConnectionPoint provPoint = mgr.GetProviderConnectionPoints(zip1)["ZipCodeProvider"]; ConsumerConnectionPoint connPoint = mgr.GetConsumerConnectionPoints(weather1)["ZipCodeConsumer"]; WebPartConnection conn1 = mgr.ConnectWebParts(zip1, provPoint, weather1, connPoint); } protected void mgr_DisplayModeChanged(object sender, WebPartDisplayModeEventArgs e) { if (mgr.DisplayMode == WebPartManager.ConnectDisplayMode) Button1.Visible = true; else Button1.Visible = false; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:WebPartManager ID="mgr" runat="server" OnDisplayModeChanged="mgr_DisplayModeChanged"> <StaticConnections> <asp:WebPartConnection ID="conn1" ConsumerConnectionPointID="ZipCodeConsumer" ConsumerID="weather1" ProviderConnectionPointID="ZipCodeProvider" ProviderID="zip1" /> </StaticConnections> </asp:WebPartManager> <uc1:DisplayModeMenuCS ID="menu1" runat="server" /> <asp:WebPartZone ID="WebPartZone1" runat="server"> <ZoneTemplate> <aspSample:ZipCodeWebPart ID="zip1" runat="server" Title="Zip Code Provider" /> <aspSample:WeatherWebPart ID="weather1" runat="server" Title="Zip Code Consumer" /> </ZoneTemplate> </asp:WebPartZone> <asp:ConnectionsZone ID="ConnectionsZone1" runat="server"> </asp:ConnectionsZone> <asp:Button ID="Button1" runat="server" Text="Connect WebPart Controls" OnClick="Button1_Click" Visible="false" /> </div> </form> </body> </html>
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
