Настройка страницы представления списка для мобильных устройств

Дата последнего изменения: 2 февраля 2011 г.

Применимо к: SharePoint Foundation 2010

Это пошаговое руководство описывает, как настроить страницу представления списка для мобильных устройств с помощью реализации пользовательского элемента управления RenderingTemplate. В примере показано, как настроить раздел контента страницы (Body (Contents)). Обзор настройки любого раздела страницы представления списка или формы для мобильных устройств см. в разделе Практическое руководство. Настройка представления списка и страниц формы для мобильных устройств.

Как описывается в статье Система отображения страниц для мобильных устройств, область Body страницы представления списка отображается с помощью цепочки вызовов, которая завершается вызовом объекта RenderingTemplate с именем Mobile_идентификатор_типа_списка_View_Contents, где идентификатор_типа_списка равен либо идентификатору определения списка, либо одному из значений SPListTemplateType. Если объекта RenderingTemplate с таким идентификатором не существует, то используется объект RenderingTemplate с идентификатором Mobile_Default_View_Contents.

В Microsoft SharePoint Foundation объект класса RenderingTemplate с идентификатором Mobile_Announcements_View_Contents (или Mobile_104_View_Contents, который ссылается на тот же тип списка) отсутствует. В этом пошаговом руководстве создается такой объект, добавляющий приветствие над списком извещений.

Процедура

Настройка раздела содержимого страницы представления "Извещения" для мобильных устройств

  1. В Microsoft Visual Studio создайте Пустой проект SharePoint. Выберите решение фермы, а не изолированное решение.

  2. Добавьте сопоставленную папку SharePoint в папку TEMPLATE\ControlTemplates.

  3. Щелкните новую папку правой кнопкой мыши и добавьте пользовательский элемент управления SharePoint. Присвойте ASCX-файлу имя, которое позволит отличить его от файлов других поставщиков решений, например ContosoMobileRenderingTemplates.ascx. Visual Studio автоматически добавит файл в манифест решения SharePoint и настроит его на развертывание в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.

    СоветСовет

    Не следует добавлять пользовательский элемент управления щелчком правой кнопкой мыши по проекту в обозревателе решений. При добавлении пользовательского элемента управления таким образом Visual Studio помещает его во вложенную папку папки TEMPLATE\ControlTemplates. Если элемент управления не переместить, Visual Studio развертывает его в соответствующую вложенную папку папки %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Шаблоны отображения для мобильных устройств, находящиеся во вложенных папках, не загружаются.

  4. Удалите файлы .ascx.cs и .ascx.designer.cs (либо .ascx.vb и .ascx.designer.vb). Эти файлы для данного проекта не требуются.

  5. Замените весь раздел директив в ASCX-файле на следующую разметку.

    <%@ 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. Ниже директив добавьте объект RenderingTemplate и присвойте ему идентификатор, который ищет на странице представления объект SPMobileListContents: Mobile_104_View_Contents

    <SharePoint:RenderingTemplate ID="Mobile_104_View_Contents" RunAt="Server" >
    
    </SharePoint:RenderingTemplate>
    
  7. Внутри элемента RenderingTemplate определите элемент Template, имеющий дочерний элемент управления Label. Задайте атрибут Text подписи, как показано в следующем фрагменте кода.

    <Template>
        <SPMobile:SPMobileControlContainer RunAt="Server">
          <SPMobile:SPMobileComponent RunAt="Server" 
             TemplateName="MobileViewPicker" />
          <SPMobile:SPMobileComponent RunAt="Server" 
             TemplateName="MobileDefaultSeparator" />
        </SPMobile:SPMobileControlContainer>
        <mobile:Label RunAt="Server" 
          Text="Hello SharePoint Mobile User!"/>
        <SPMobile:SPMobileListItemIterator RunAt="Server" 
           ListItemSeparatorTemplateName="MobileListItemSeparator" />
    </Template>
    
  8. Выберите в меню Построение пункт Развернуть решение. При этом ACSX-файл автоматически сохраняется и развертывается в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, а веб-приложение — перезапускается, в результате чего все ACSX-файлы в этой папке перезагружаются.

  9. Перейдите к списку Извещения с помощью устройства или эмулятора. Над списком должно отобразиться приветствие, как показано на следующем снимке экрана.

Настроенный основной раздел в списке для мобильных устройств

См. также

Задачи

Практическое руководство. Настройка представления списка и страниц формы для мобильных устройств

Концепции

Макет и разбивка страниц для мобильных устройство

Система отображения страниц для мобильных устройств

Другие ресурсы

Рекомендации по разработке для мобильных устройств