Freigeben über


Vorgehensweise: Anpassen mobiler Listenansichts- und Formularseiten

Letzte Änderung: Mittwoch, 2. Februar 2011

Gilt für: SharePoint Foundation 2010

Dieses Thema enthält eine Übersicht über das Standardverfahren zum Anpassen der Microsoft SharePoint Foundation-Listenansicht und von Formularseiten, auf die über mobile Geräte zugegriffen werden kann. Ein detailliertes Verfahren finden Sie unter Exemplarische Vorgehensweise: Anpassen einer mobilen Listenansichtsseite. Eine Übersicht über die Anpassung mobiler Homepages finden Sie unter Gewusst wie: Anpassen von mobilen Homepages.

Wie ausführlich unter System zum Rendern mobiler Seiten beschrieben, wird durch die Steuerelemente in den Bereichen für Kopfzeile (Titel), Textkörper (Inhalt) und Fußzeile (Navigation) einer mobilen Listenansichtsseite oder eines Listenelementformulars jeweils eine Kette von Aufrufen gestartet, die letztendlich zu einem Aufruf eines RenderingTemplate-Objekts führen, durch das der entsprechende Bereich der mobilen Seite gerendert wird. Dabei handelt es sich fast immer um ein RenderingTemplate-Objekt mit einer segmentierten ID. Wenn kein RenderingTemplate-Objekt mit einem übereinstimmenden Namen gefunden wird, wird eine Standardvorlage verwendet. Das bedeutet, dass Sie die Kopfzeile, den Textkörper oder die Fußzeile anpassen können, indem Sie ein RenderingTemplate-Objekt mit der ID erstellen, nach der von der Laufzeit gesucht wird.

Konkret wird von der Laufzeit nach einer RenderingTemplate-ID mit dem folgenden Format gesucht:

IntendedListUseListTypeIDPageTypePageArea

Die Platzhalter IntendedPageUse, ListTypeID, PageType und PageArea werden in Segmentierte Rendervorlagen-IDs definiert. Auf einer Listenansichtsseite oder in einem Elementformular sind für PageType die Werte DispForm, NewForm, EditForm und DeletePage möglich.

Weitere Informationen zu den Abschnitten einer mobilen Seite finden Sie unter Layout und Paginierung von mobilen Seiten.

Wenn für einen bestimmten IntendedPageUse-, ListTypeID-, PageType- und PageArea-Platzhalter ein RenderingTemplate-Objekt mit einem übereinstimmenden Namen gefunden wird, wird ein Objekt mit Default anstelle des ListTypeID-Platzhalters verwendet:

IntendedPageUseDefaultPageTypePageArea

Wenn von der Laufzeit beispielsweise nach einem RenderingTemplate-Objekt mit der ID Mobile_Announcements_View_Contents gesucht wird, wird keines gefunden (wenn keine benutzerdefinierte Vorlage mit diesem Namen hinzugefügt wurde). Daher wird das vorhandene Mobile_Default_View_Contents-Objekt verwendet, um den Bereich für den Textkörper (Inhalt) der Listenansichtsseite für eine Ankündigungsliste zu rendern.

Wenn Sie also das Rendern des Textkörpers (Inhalts) dieser Liste anpassen möchten, können Sie dazu ein RenderingTemplate-Element mit der ID Mobile_Announcements_View_Contents (oder Mobile_104_View_Contents) in einer ASCX-Datei erstellen, die Sie in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates bereitstellen. Möglicherweise müssen Sie die Datei MobileDefaultTemplates.ascx oder GbwMobileDefaultTemplates.ascx nicht ändern. Weitere Informationen zum Erstellen einer benutzerdefinierten Renderingvorlage für eine Listenansichtsseite oder ein Formular finden Sie im Verfahren im nächsten Abschnitt sowie unter Exemplarische Vorgehensweise: Anpassen einer mobilen Listenansichtsseite.

Vorhandene "RenderingTemplate"-Objekte

Dutzende von RenderingTemplate-Objekten für mobile Listenansichtsseiten und Formulare sind in der Datei MobileDefaultTemplates.ascx oder GwbMobileDefaultTemplates.ascx enthalten, die mit SharePoint Foundation installiert werden. Die folgenden Objekte sind Beispiele.

  • Mobile_Events_DispForm_Navigation

  • Mobile_Comments_View_Navigation

  • Mobile_Posts_DeletePage_Navigation

  • Mobile_425_View_Navigation

  • MobileFolder_DocumentLibrary_View_Navigation

  • MobileDailyView_Events_View_Navigation

Sie können die Datei MobileDefaultTemplates.ascx oder GwbMobileDefaultTemplates.ascx nicht ändern. Sie können (in einer eigenen ASCX-Datei) ein neues RenderingTemplate-Objekt mit der gleichen ID wie eine der vorhandenen Renderingvorlagen erstellen. Dabei besteht jedoch die Gefahr, dass Sie andere in SharePoint Foundation bereitgestellte Lösungen beschädigen, die von dem ursprünglichen RenderingTemplate-Objekt mit der gleichen ID abhängen.

HinweisHinweis

Die im Lieferumfang von SharePoint Foundation enthaltenen RenderingTemplate-Elemente werden vor benutzerdefinierten Vorlagen geladen. Beim Laden einer benutzerdefinierten Vorlage mit dem gleichen Namen wie eine der vorhandenen Renderingvorlagen wird deshalb die ursprüngliche Vorlage durch die benutzerdefinierte Vorlage außer Kraft gesetzt. Wenn mehrere benutzerdefinierte RenderingTemplate-Objekte den gleichen Namen haben, werden durch das Objekt, dessen Dateiname bei alphabetischer Sortierung an der letzten Stelle steht, alle anderen außer Kraft gesetzt. Wenn eine bestimmte Datei zwei oder mehr Renderingvorlagen mit dem gleichen Namen hat, wird keine der Vorlagen geladen.

Außerdem werden in derselben Datei die folgenden standardmäßigen RenderingTemplate-Elemente definiert. Diese werden von der Laufzeit verwendet, wenn kein RenderingTemplate-Objekt für den aktuellen Listentyp definiert ist. Das gleiche Risiko besteht, wenn Sie ein neues RenderingTemplate-Objekt mit einem dieser Namen erstellen:

  • Mobile_Default_DeletePage_Contents

  • Mobile_Default_DeletePage_Navigation

  • Mobile_Default_DeletePage_Title

  • Mobile_Default_DispForm_Contents

  • Mobile_Default_DispForm_Navigation

  • Mobile_Default_DispForm_Title

  • Mobile_Default_EditForm_Contents

  • Mobile_Default_EditForm_Navigation

  • Mobile_Default_EditForm_Title

  • Mobile_Default_NewForm_Contents

  • Mobile_Default_NewForm_Navigation

  • Mobile_Default_NewForm_Title

  • Mobile_Default_View_Contents

  • Mobile_Default_View_Navigation

  • Mobile_Default_View_Title

  • MobileDailyView_Default_View_Navigation

  • MobileFolder_Default_View_Title

  • MobileFolder_Default_View_Navigation

RenderingTemplate-Objekte können wie im folgenden Beispiel veranschaulicht geschachtelt werden.

So passen Sie einen Abschnitt einer mobilen Listenansicht oder Formularseite 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). Sie werden für dieses Projekt nicht benötigt.

  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 der ASCX-Datei eine Renderingvorlage mit einer ID im folgenden Format hinzu: IntendedListUseListTypeIDPageTypePageArea.

    • IntendedListUse ist Mobile, MobileFolder oder MobileDailyView.

    • ListTypeID ist entweder die ID eines Typs der aktuellen Liste (z. B. 105) oder einer der Werte der SPListTemplateType-Enumeration (z. B. Contacts).

    • PageType kann View, NewForm, EditForm, DispForm oder DeletePage sein.

    • PageArea kann Title, Contents oder Navigation sein.

  7. 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.

Beispiel

Im folgenden Beispiel einer RenderingTemplate-Definition wird gezeigt, wie Sie RenderingTemplate-Objekte schachteln können. Im Beispiel wird ein benutzerdefiniertes RenderingTemplate-Objekt für die Fußzeile einer Listenansichtsseite mit dem Listentyp 104 (Announcements) gezeigt. Ein detailliertes Beispiel für die Anpassung einer Listenansichtsseite finden Sie unter Exemplarische Vorgehensweise: Anpassen einer mobilen Listenansichtsseite.

<SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_104_View_Navigation">
  <Template>
    <mobile:Link RunAt="Server" 
      Text="ASP.NET Website" href="https://www.asp.net" />
    <mobile:Label RunAt="Server" Text="" BreakAfter="True" />
    <SPMobile:SPMobileComponent RunAt="Server" 
      TemplateName="Mobile_Default_View_Navigation" />
  </Template>
</SharePoint:RenderingTemplate>

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Anpassen einer mobilen Listenansichtsseite

Gewusst wie: Anpassen von mobilen Homepages

Konzepte

Layout und Paginierung von mobilen Seiten

Gewusst wie: Anpassen der mobilen Homepage durch Umleitung

System zum Rendern mobiler Seiten