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

ConnectionConsumerAttribute-Klasse

 

Veröffentlicht: Oktober 2016

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

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

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

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

NameBeschreibung
System_CAPS_pubmethodConnectionConsumerAttribute(String)

Initialisiert eine neue Instanz der ConnectionConsumerAttribute -Klasse und gibt einen Anzeigenamen für den Consumer-Verbindungspunkt.

System_CAPS_pubmethodConnectionConsumerAttribute(String, String)

Initialisiert eine neue Instanz der ConnectionConsumerAttribute -Klasse und gibt einen Anzeigenamen und eine ID für den Consumer-Verbindungspunkt.

System_CAPS_pubmethodConnectionConsumerAttribute(String, String, Type)

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

System_CAPS_pubmethodConnectionConsumerAttribute(String, Type)

Initialisiert eine neue Instanz der ConnectionConsumerAttribute -Klasse und gibt einen Anzeigenamen und eine bestimmte Art von Objekt, das für den Consumer-Verbindungspunkt verwendet.

NameBeschreibung
System_CAPS_pubpropertyAllowsMultipleConnections

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

System_CAPS_pubpropertyConnectionPointType

Ruft die Punkt-Verbindungstyp des Consumer-Verbindungspunkts ab.

System_CAPS_pubpropertyDisplayName

Ruft den Anzeigenamen des Consumer-Verbindungspunkts 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 des Consumer-Verbindungspunkts 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, 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.

Der Consumer-Steuerelement 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 vom Anbieter empfängt, die Daten enthält. Um die Methode zu kennzeichnen, die als Rückrufmethode in einem Consumer fungiert, fügen Sie eine ConnectionConsumerAttribute Metadatenelement an die Methode (das Element basiert auf der ConnectionConsumerAttribute Klasse).

Zusätzlich zur Kennzeichnung der Rückrufmethode in einem Consumer der ConnectionConsumerAttribute Objekt außerdem können Sie bestimmte Details zum Consumer Verbindungspunkt angeben. Ein Consumer-Verbindungspunkt ist eine Instanz der ConsumerConnectionPoint -Klasse kapselt alle Details zu einem Consumer zum Herstellen einer Verbindungs, einschließlich der Consumer-Steuerelementtyp, ob er an mehrere Anbieter gleichzeitig, welche Art von Schnittstelle den Consumer eine Verbindung herstellen kann, können von einem Anbieter empfangen details zur Rückrufmethode sowie einen Anzeigenamen, der den Consumer-Verbindungspunkt in der Benutzeroberfläche (UI) darstellt. Jede Webparts-Verbindung schließt einen Consumer-Verbindungspunkt, der dem Consumersteuerelement zugeordnet ist.

Beim Hinzufügen der ConnectionConsumerAttribute Metadatenelement an die Rückrufmethode in einem Consumer, außerdem können Sie sie an den Consumer-Verbindungspunkt werden folgende Details: einen Anzeigenamen für den Verbindungspunkt (Ausführliche Informationen finden Sie die DisplayName Eigenschaft), ob der Consumer gleichzeitig mit mehreren Anbietern 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 Consumer verwendet (Weitere Informationen finden Sie unter der ConnectionPointType Eigenschaft). Die vier Überladungen des Konstruktors für die ConnectionConsumerAttribute 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 einen Consumer-Verbindungspunkt können auch programmgesteuert festgelegt werden. Diese Einstellung mit der ConnectionConsumerAttribute Element ist optional.

System_CAPS_noteHinweis

Beim Hinzufügen der ConnectionConsumerAttribute Metadatenelement für eine Rückrufmethode in einem Consumer, der einzige Parameter, der immer angegeben werden müssen ist die displayName Parameter (Weitere Informationen finden Sie unter der ConnectionConsumerAttribute(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 Consumer-Verbindungspunkt in der Benutzeroberfläche darstellt. Wenn Sie mehrere Rückrufmethoden in einem Consumer-Steuerelement festlegen, Sie mehreren möglichen Verbindungspunkten auswählen müssen und beim Hinzufügen der ConnectionConsumerAttribute Metadatenelement jedes Rückrufmethode, sollten Sie auch einen Wert für angeben der id Parameter, damit jeder Consumer-Verbindungspunkt hat, eine bekannte, eindeutigen Bezeichners.

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

      [ConnectionConsumer("Row")]
      public void SetConnectionInterface(IWebPartRow provider) 
{
          _provider = provider;
      }

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.

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. Beachten Sie, dass eine Methode als die Rückrufmethode mit festgelegt, ist die ConnectionConsumerAttribute 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 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: