Stellvertretungs-Steuerelement (Erstellen von Vorlagen für Steuerelemente)

SharePoint 2010

Letzte Änderung: Donnerstag, 1. Oktober 2009

Gilt für: SharePoint Foundation 2010

Microsoft SharePoint Foundation bietet einen einfachen Mechanismus zum Deklarieren von Steuerelementkandidaten für eine bestimmte Funktionalität sowie zum Auswählen eines einzelnen Funktionalitätsanbieters. Über ein Feature können Sie Steuerelemente bestimmen und Vorlagen steuern, die als Kandidaten für eine gewählte Funktionalität dienen.

Steuerelemente werden basierend auf der Funktionalität bestimmt, die vom Steuerelement bereitgestellt wird. Sie können Steuerelemente für diese Funktionalitäten mithilfe von Feature-Elementen registrieren. Sie geben das zu verwendende Steuerelement, eine Sequenznummer und eine URL zu entweder einer Steuerelementvorlage oder einer Assembly an (siehe die folgenden Codebeispiele):

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Control 
    Id="SmallSearchInputBox" 
    Sequence="100" 
    Url="/templates/mysearchcontrol.ascx"/>
</Elements>

Das folgende Steuerelement ersetzt das vorherige Steuerelement, da es eine niedrigere Sequenznummer angibt.

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Control 
    Id="SmallSearchInputBox" 
    Sequence="50" 
    ControlClass="MySearchControl" 
    ControlAssembly="MyAssembly"/>
</Elements>

Das DelegateControl-Objekt ist in SharePoint Foundation-Seiten eingebettet und agiert basierend auf diesen Informationen wie folgt:

<SharePoint:DelegateControl ControlId="SmallSearchInputBox"/>

Zur Laufzeit akzeptiert dieses Steuerelement die Vereinigung von Steuerelementen, die auf Serverfarm-, Webanwendungs-, Websitesammlungs- und Websiteebene deklariert sind. Das Steuerelement mit der niedrigsten Sequenznummer wird über das DelegateControl-Objekt der Steuerelementstruktur hinzugefügt. Bei gleichlautenden Sequenznummern ist die Reihenfolge der Steuerelemente beliebig.

Die Sequenznummer des DelegateControl-Objekts dient zum Integrieren eines Steuerelements für die Portalsuche in SharePoint Foundation. Das standardmäßige Suchsteuerelement hat die Sequenznummer 100, und eine Portalsuche kann beispielsweise auf der Websitesammlungsebene mit der Sequenznummer 50 aktiviert werden. Auf diese Weise ersetzt SharePoint Foundation das standardmäßige Suchsteuerelement durch das Steuerelement für die Portalsuche an allen Stellen, an denen das Suchsteuerelement aufgerufen wird.

Das folgende Beispiel zeigt z. B. das SmallSearchInputBox-Stellvertretungs-Steuerelement:

<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox"/>

Dieses Steuerelement kann einen benutzerdefinierten Steuerelementkandidaten wie folgt instanziieren:

<MySearch:SuperSearchControl/>

Das übergeordnete Stellvertretungs-Steuerelement legt Eigenschaften für das benutzerdefinierte Steuerelement fest. Verwenden Sie das Property-Element in DelegateControl zum Festlegen von Eigenschaften zugeordneter benutzerdefinierter Steuerelemente mittels Reflektion.

HinweisHinweis

Das Festlegen der AllowMultipleControls-Eigenschaft auf true bewirkt, dass alle übereinstimmenden Steuerelementkandidaten der Seite als untergeordnete Elemente des Stellvertretungs-Steuerelements in der Reihenfolge hinzugefügt werden, die vom Sequence-Attribut angegeben ist.

Ein Stellvertretungs-Steuerelement kann nicht inhärent entworfen werden, da ihm das tatsächliche Steuerelement, das in ihm instanziiert wird, nicht bekannt ist. Es kann lediglich die HTML zur Entwurfszeit des gewählten Steuerelements für die bestimmte Instanz rendern. Der Entwickler kann bestenfalls ein Option zum "Hartcodieren" des Steuerelements bereitstellen, was bedeutet, dass SharePoint:DelegateControl durch das aktuelle Steuerelement ersetzt wird, das über die Feature-Infrastruktur zurückgegeben wird. Der Entwickler kann das Steuerelement anpassen.

Mögliche Geltungsbereiche:

  • Farm: Ja

  • Webanwendung: Ja

  • Websitesammlung: Ja

  • Website: Ja

Anzeigen: