Freigeben über


Exemplarische Vorgehensweise: Anpassen von Elementtiteln in mobilen Formularen

Letzte Änderung: Mittwoch, 2. Februar 2011

Gilt für: SharePoint Foundation 2010

In dieser exemplarischen Vorgehensweise wird das Anpassen des Rendering von Feldern auf mobilen Seiten durch das Implementieren eines benutzerdefinierten RenderingTemplate-Objekts gezeigt. Im Beispiel wird das Anpassen des Title-Felds eines Elements in der Liste Announcements im mobilen Anzeigeformular des Listenelements gezeigt. Eine Übersicht über die Schritte zum Anpassen von Feldern auf mobilen Seiten finden Sie unter Vorgehensweise: Anpassen des Renderns von Feldern auf mobilen Seiten.

Wie unter System zum Rendern mobiler Seiten beschrieben führt eine Kette von Aufrufen, die über ein Steuerelement auf der Seite ausgelöst werden, schließlich zu einem Aufruf einer RenderingTemplate-Anweisung mit einer ID im folgenden Format: MobileCustomListField_ListentypID_Feldtyp_Feld.

ListentypID ist entweder die ID des Typs der aktuellen Liste (z. B. 105) oder einer der Werte der SPListTemplateType-Enumeration (z. B. Contacts). Feldtyp ist der Datentyp des Felds, z. B. Text oder Number, und Feld ist der Name des Felds, z. B. WorkPhone. Falls keine RenderingTemplate-Anweisung mit dieser ID vorhanden ist, wird RenderingTemplate mit der ID MobileDefaultListField verwendet.

Im Microsoft SharePoint Foundation gibt es kein RenderingTemplate-Anweisung mit der ID MobileCustomListField_Announcements_Text_Title enthalten. In dieser exemplarischen Vorgehensweise wird eine Anweisung erstellt, die im mobilen Anzeigeformular für ein Element in der Announcements-Liste einen neuen Titel für das Element angibt.

So passen Sie das "Title"-Feld eines "Announcements"-Elements an

  1. Erstellen Sie in Microsoft Visual Studio ein leeresSharePoint-Projekt. Erstellen Sie eine Farmlösung, keine Lösung mit eingeschränkter Sicherheitsstufe.

  2. Fügen Sie TEMPLATE\ControlTemplates einen zugeordneten SharePoint-Ordner hinzu.

  3. Klicken Sie mit der rechten Maustaste auf den neuen Ordner, und fügen Sie ein SharePoint-Benutzersteuerelement hinzu. Legen Sie für die ASCX-Datei einen Namen fest, der sich von den Dateien anderer Lösungsanbieter unterscheidet. Ein Beispiel: ContosoMobileRenderingTemplates.ascx. Die Datei wird von Visual Studio automatisch dem SharePoint-Lösungsmanifest hinzugefügt, und es wird festgelegt, dass die Datei in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates bereitgestellt wird.

    TippTipp

    Fügen Sie das Benutzersteuerelement nicht durch Klicken mit der rechten Maustaste auf Projekt im Projektmappen-Explorer hinzu. Beim Hinzufügen eines Benutzersteuerelements auf diese Art und Weise wird es von Visual Studio in einem Unterordner von TEMPLATE\ControlTemplates abgelegt. Und falls es nicht verschoben wird, wird es von Visual Studio in einem entsprechenden Unterordner von %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates bereitgestellt. Mobile Renderingvorlagen in Unterordern werden nicht geladen.

  4. Löschen Sie die Dateien .ascx.cs und .ascx.designer.cs (oder .ascx.vb und .ascx.designer.vb), die für dieses Projekt nicht benötigt werden.

  5. Ersetzen Sie den gesamten Direktivenabschnitt der ASCX-Datei durch das folgende Markup.

    <%@ Register TagPrefix="GroupBoardMobile"   Namespace="Microsoft.SharePoint.Applications.GroupBoard.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Control Language="C#"   %> 
    <%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %> 
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="WPMobile" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
  6. Fügen Sie unterhalb der Direktiven eine RenderingTemplate-Anweisung hinzu, und weisen Sie ihr die ID zu, nach der von der Laufzeit gesucht wird: MobileCustomListField_Announcements_Text_Title.

    <SharePoint:RenderingTemplate RunAt="Server" ID="MobileCustomListField_Announcements_Text_Title" >
    
    </SharePoint:RenderingTemplate>
    
  7. Definieren Sie innerhalb des RenderingTemplate-Elements ein Template-Element mit einem untergeordneten Label-Steuerelement. Legen Sie das Text-Attribut der Bezeichnung wie gezeigt fest.

    <Template>
      <mobile:Label Text="Title field in Announcements List" 
        RunAt="Server" />
    </Template>
    
  8. Wählen Sie im Menü Erstellen die Option Projektmappe bereitstellen aus. Dadurch wird die ASCX-Datei automatisch gespeichert und in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates bereitgestellt. Die Webanwendung wird wiederverwendet, sodass alle ASCX-Dateien in diesem Ordner erneut geladen werden.

  9. Wechseln Sie mit dem Gerät oder Emulator zu einer Announcements-Liste, die mindestens ein Element enthält. Klicken Sie auf ein Element, um es anzuzeigen. Der neue Titel sollte wie in der folgenden Abbildung angezeigt werden.

Benutzerdefiniertes Formular zum Anzeigen eines Eintrags für mobile Seiten

Siehe auch

Aufgaben

Vorgehensweise: Anpassen des Renderns von Feldern auf mobilen Seiten

Konzepte

Layout und Paginierung von mobilen Seiten

System zum Rendern mobiler Seiten