Настройка страницы представления списка для мобильных устройств
Дата последнего изменения: 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, который ссылается на тот же тип списка) отсутствует. В этом пошаговом руководстве создается такой объект, добавляющий приветствие над списком извещений.
Процедура
Настройка раздела содержимого страницы представления "Извещения" для мобильных устройств
В Microsoft Visual Studio создайте Пустой проект SharePoint. Выберите решение фермы, а не изолированное решение.
Добавьте сопоставленную папку SharePoint в папку TEMPLATE\ControlTemplates.
Щелкните новую папку правой кнопкой мыши и добавьте пользовательский элемент управления 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. Шаблоны отображения для мобильных устройств, находящиеся во вложенных папках, не загружаются.
Удалите файлы .ascx.cs и .ascx.designer.cs (либо .ascx.vb и .ascx.designer.vb). Эти файлы для данного проекта не требуются.
Замените весь раздел директив в 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" %>
Ниже директив добавьте объект RenderingTemplate и присвойте ему идентификатор, который ищет на странице представления объект SPMobileListContents: Mobile_104_View_Contents
<SharePoint:RenderingTemplate ID="Mobile_104_View_Contents" RunAt="Server" > </SharePoint:RenderingTemplate>
Внутри элемента 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>
Выберите в меню Построение пункт Развернуть решение. При этом ACSX-файл автоматически сохраняется и развертывается в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, а веб-приложение — перезапускается, в результате чего все ACSX-файлы в этой папке перезагружаются.
Перейдите к списку Извещения с помощью устройства или эмулятора. Над списком должно отобразиться приветствие, как показано на следующем снимке экрана.
См. также
Задачи
Практическое руководство. Настройка представления списка и страниц формы для мобильных устройств
Концепции
Макет и разбивка страниц для мобильных устройство
Система отображения страниц для мобильных устройств