Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ConnectionProviderAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt die Rückrufmethode in einem Serversteuerelement, das als Anbieter in einer Webparts-Verbindung fungiert und ermöglicht Entwicklern das Angeben von Details zum Verbindungspunkt des Anbieters.

Namespace:   System.Web.UI.WebControls.WebParts
Assembly:  System.Web (in System.Web.dll)

System.Object
  System.Attribute
    System.Web.UI.WebControls.WebParts.ConnectionProviderAttribute

[AttributeUsageAttribute(AttributeTargets.Method)]
public class ConnectionProviderAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodConnectionProviderAttribute(String)

Initialisiert eine neue Instanz der ConnectionProviderAttribute -Klasse und gibt einen Anzeigenamen für den Anbieterverbindungspunkt.

System_CAPS_pubmethodConnectionProviderAttribute(String, String)

Initialisiert eine neue Instanz der ConnectionProviderAttribute -Klasse und gibt einen Anzeigenamen und eine ID für den Anbieterverbindungspunkt.

System_CAPS_pubmethodConnectionProviderAttribute(String, String, Type)

Initialisiert eine neue Instanz der ConnectionProviderAttribute-Klasse und gibt einen Anzeigenamen, eine ID und einen bestimmten Typ von Verbindungspunktobjekt zur Verwendung für den Anbieterverbindungspunkt an.

System_CAPS_pubmethodConnectionProviderAttribute(String, Type)

Initialisiert eine neue Instanz der ConnectionProviderAttribute -Klasse und gibt einen Anzeigenamen und eine bestimmte Art von Objekt für den Anbieterverbindungspunkt verwenden.

NameBeschreibung
System_CAPS_pubpropertyAllowsMultipleConnections

Ruft ab oder legt einen Wert, der angibt, ob der Verbindungspunkt mehrere Verbindungen zulässt.

System_CAPS_pubpropertyConnectionPointType

Ruft den Typ des Verbindungspunkts mit einem Anbieter verknüpft ist.

System_CAPS_pubpropertyDisplayName

Ruft den Anzeigenamen des Anbieterverbindungspunkts ab.

System_CAPS_protpropertyDisplayNameValue

Ruft ab oder legt die Zeichenfolge fest, die als Wert für die DisplayName Eigenschaft für die Verwendung in unternehmensspezifische Lokalisierungsszenarios durchzuführen.

System_CAPS_pubpropertyID

Ruft eine Zeichenfolge, die die eindeutige Identität der Anbieter-Objekt darstellt.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird.(Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Eine Webparts-Verbindung besteht aus zwei Serversteuerelementen in einer WebPartZoneBase Zone und Freigabe von Daten mittels einer Schnittstelleninstanz von einem Steuerelement an das andere übergeben. Das Steuerelement, das die Schnittstelleninstanz bereitstellt, wird als Anbieter bezeichnet, und das Steuerelement, das erhält die Schnittstelleninstanz, Prozesse oder zeigt die Daten an den Consumer aufgerufen. Ausführliche Informationen über Verbindungen, finden Sie unter der WebPartConnection Klasse und Web Parts Connections Overview.

Das Anbietersteuerelement in einer Verbindung kann ein WebPart -Steuerelement oder ein beliebiger Typ von Server-oder Benutzersteuerelement, sondern müssen eine Methode als eine Rückrufmethode. Die Rückrufmethode wird während des Verbindungsprozesses aufgerufen, und sein Zweck besteht darin, dass er eine Schnittstelleninstanz an den Consumer zurück, die Daten enthält. Um die Methode zu kennzeichnen, die als Rückrufmethode in einem Anbieter fungiert, fügen Sie eine ConnectionProviderAttribute Metadatenelement an die Methode (das Element basiert auf der ConnectionProviderAttribute Klasse).

Zusätzlich zur Kennzeichnung der Rückrufmethode in einem Anbieter das ConnectionProviderAttribute Objekt außerdem können Sie bestimmte Details zum Verbindungspunkt des Anbieters angeben. Anbieter ist eine Instanz der ProviderConnectionPoint -Klasse kapselt alle Details zu einem Anbieter zum Herstellen einer Verbindungs, einschließlich des Anbieters Steuerelementtyp, ob gleichzeitig mit mehreren Consumern gleichzeitig Verbindungen, welche Art von Schnittstelle den Anbieter benötigt dient dazu, Verbrauchern, details zur Rückrufmethode sowie einen Anzeigenamen, der den Anbieterverbindungspunkt in der Benutzeroberfläche (UI) darstellt. Jede Webparts-Verbindung umfasst einen Anbieterverbindungspunkt, der mit dem Anbietersteuerelement zugeordnet ist.

Beim Hinzufügen der ConnectionProviderAttribute Metadatenelement an die Rückrufmethode in einem Anbieter, außerdem können Sie sie an die folgenden Details zu den Anbieterverbindungspunkt: einen Anzeigenamen für den Verbindungspunkt (Ausführliche Informationen finden Sie die DisplayName Eigenschaft), ob der Anbieter gleichzeitig mit mehreren Consumern verbunden werden kann (Weitere Informationen finden Sie unter der AllowsMultipleConnections Eigenschaft), eine ID für den Verbindungspunkt (Weitere Informationen finden Sie unter der ID Eigenschaft), und der Typ des Verbindungspunkts, die der Anbieter verwendet (Weitere Informationen finden Sie unter der ConnectionPointType Eigenschaft). Die vier Überladungen des Konstruktors für die ConnectionProviderAttribute jede Klasse enthält Parameter, mit denen Sie Werte für eine oder mehrere der Eigenschaften dieser Verbindung angeben, wenn eine neue Instanz der Klasse erstellt wird. Die meisten Eigenschaften für Anbieter können auch programmgesteuert festgelegt werden. Diese Einstellung mit der ConnectionProviderAttribute Element ist optional.

System_CAPS_noteHinweis

Beim Hinzufügen der ConnectionProviderAttribute Metadatenelement für eine Rückrufmethode in einem Anbieter, der einzige Parameter, der immer angegeben werden müssen ist die displayName Parameter (Weitere Informationen finden Sie unter der ConnectionProviderAttribute(String) Konstruktorüberladung). Der Wert dieses Parameters zugewiesen wird die DisplayName -Eigenschaft, und wenn ein Benutzer die Benutzeroberfläche für Verbindungen öffnet (erstellt, indem die ConnectionsZone Steuerelement), den Anzeigenamen der Anbieterverbindungspunkt in der Benutzeroberfläche darstellt. Wenn Sie mehrere Rückrufmethoden in einem Anbietersteuerelement festlegen, Sie mehreren möglichen Verbindungspunkten auswählen müssen und beim Hinzufügen der ConnectionProviderAttribute Metadatenelement jedes Rückrufmethode, sollten Sie auch einen Wert für angeben der id Parameter, damit jeder Anbieter Verbindungspunkt hat, eine bekannte, eindeutigen Bezeichners.

Das folgende Codebeispiel veranschaulicht die Verwendung der ConnectionProviderAttribute -Klasse zum Deklarieren der ConnectionProviderAttribute Metadatenelement für eine Rückrufmethode in einem Anbietersteuerelement. Beachten Sie, dass die einfachste Überladung des Konstruktors verwendet wird. nur die displayName Parameterwert angegeben wird.

      [ConnectionProvider("Row")]
      public IWebPartRow GetConnectionInterface()
{
          return new RowProviderWebPart();
      }

Die folgenden Codebeispiele veranschaulichen, wie zum Erstellen einer grundlegenden, statischen Verbindungs zwischen zwei Webparts-Steuerelementen mithilfe der WebPartConnection Klasse. Die Anbieter- und Dateien sollten in den Ordner App_Code der Anwendung im Ordner abgelegt werden, die die ASPX-Seite enthält.

Das erste Beispiel zeigt eine Klasse, die als Anbieter fungiert. Beachten Sie, dass eine Methode als die Rückrufmethode mit festgelegt, ist die ConnectionProviderAttribute Metadatenelement.

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Reflection;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
//This sample code creates a Web Parts control that acts as a provider of row data.
namespace My 
{
    public sealed class RowProviderWebPart : WebPart, IWebPartRow 
	{

        private DataTable _table;

        public RowProviderWebPart() 
		{
            _table = new DataTable();

            DataColumn col = new DataColumn();
            col.DataType = typeof(string);
            col.ColumnName = "Name";
            _table.Columns.Add(col);

            col = new DataColumn();
            col.DataType = typeof(string);
            col.ColumnName = "Address";
            _table.Columns.Add(col);

            col = new DataColumn();
            col.DataType = typeof(int);
            col.ColumnName = "ZIP Code";
            _table.Columns.Add(col);

            DataRow row = _table.NewRow();
            row["Name"] = "John Q. Public";
            row["Address"] = "123 Main Street";
            row["ZIP Code"] = 98000;
            _table.Rows.Add(row);
        }
        [ConnectionProvider("Row")]
        public IWebPartRow GetConnectionInterface()
		{
            return new RowProviderWebPart();
        }
        public PropertyDescriptorCollection Schema 
		{
            get {
                return TypeDescriptor.GetProperties(_table.DefaultView[0]);
				}
        }
		public void GetRowData(RowCallback callback)
		{
			callback(_table.Rows);
		}
    }
}

Das zweite Beispiel zeigt eine Klasse, die als Consumer fungiert.

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Reflection;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
// This sample code creates a Web Parts control that acts as a consumer of row data.
namespace My 
{

    public sealed class RowConsumerWebPart : WebPart {
        private IWebPartRow _provider;
		private ICollection _tableData;

			private void GetRowData(object rowData)
			{
				_tableData = (ICollection)rowData;
			}

		protected override void OnPreRender(EventArgs e)
		{
				if (_provider != null)
				{
					_provider.GetRowData(new RowCallback(GetRowData));
				}
		}


        protected override void RenderContents(HtmlTextWriter writer) {
            if (_provider != null) {
                PropertyDescriptorCollection props = _provider.Schema;
				int count = 0;
                if (props != null && props.Count > 0 && _tableData != null) {
                    foreach (PropertyDescriptor prop in props) 
					{
						foreach (DataRow o in _tableData)
						{
							writer.Write(prop.DisplayName + ": " + o[count]);
							writer.WriteBreak();
							writer.WriteLine();
							count = count + 1;
						}
                    }
                }
                else {
                    writer.Write("No data");
                }
            }
            else {
                writer.Write("Not connected");
            }
        }
        [ConnectionConsumer("Row")]
        public void SetConnectionInterface(IWebPartRow provider) 
		{
            _provider = provider;
        }
         }

    }
//}

Das letzte Beispiel zeigt die ASP.NET-Seite, die das zwei Steuerelemente enthält.

<%@ page language="C#" %>
<%@ register TagPrefix="my" Namespace="My" %>

<!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>IRow Test Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <!-- A static or dynamic connection is required to link two Web Parts controls. --->
        <asp:webpartmanager ID="WebPartManager1" runat="server">
            <staticconnections>
                <asp:webpartconnection ID="wp1" ProviderID="provider1" ConsumerID="consumer1" >
                </asp:webpartconnection>
            </staticconnections>
        </asp:webpartmanager>

        <asp:webpartzone ID="WebPartZone1" runat="server">
            <ZoneTemplate>
                <!-- The following two lines specify the two connected controls. --->
                <my:RowProviderWebPart ID="provider1" runat="server" ToolTip="Row Provider Control" />
                <my:RowConsumerWebPart ID="consumer1" runat="server" ToolTip="Row Consumer Control" />
            </ZoneTemplate>
        </asp:webpartzone>
    </div>
    </form>
</body>
</html>

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: