Пошаговое руководство. Настройка заголовков элементов в мобильных формах
Дата последнего изменения: 2 февраля 2011 г.
Применимо к: SharePoint Foundation 2010
В этом примере показано, как настроить отображение полей на мобильных страницах с использованием настраиваемого элемента RenderingTemplate. Здесь показано, как настроить в мобильной форме отображения элемента списка поле заголовка и элемент в списке Объявления. Обзор шагов настройки полей на мобильной странице представлен в разделе Настройка отображения поля на страницах для мобильных устройств.
Как описано в разделе Система отображения страниц для мобильных устройств, цепочка вызовов, инициируемая элементом управления на странице, в конце концов приводит к вызову RenderingTemplate с идентификатором, имеющим следующий формат: MobileCustomListField_ид_типа_списка_тип_поля_поле.
ид_типа_списка — это либо идентификационный номер типа текущего списка (например 105), либо одно из значений списка SPListTemplateType (например Contacts). тип_поля — это тип данных поля, например Text или Number, а поле — имя поля, например WorkPhone. Если RenderingTemplate с таким идентификатором не существует, используется RenderingTemplate с идентификатором MobileDefaultListField.
В Microsoft SharePoint Foundation не существует RenderingTemplate с идентификатором MobileCustomListField_Announcements_Text_Title. В этом примере на мобильной форме для элемента списка Объявления создается элемент, заменяющий новый заголовок для элемента.
Настройка поля заголовка элемента объявления
В 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 и присвойте ему идентификатор, ожидаемый средой выполнения: MobileCustomListField_Announcements_Text_Title.
<SharePoint:RenderingTemplate RunAt="Server" ID="MobileCustomListField_Announcements_Text_Title" > </SharePoint:RenderingTemplate>
Внутри элемента RenderingTemplate определите элемент Template с дочерним элементом управления Label. Задайте атрибут метки Text, как показано ниже.
<Template> <mobile:Label Text="Title field in Announcements List" RunAt="Server" /> </Template>
В меню Построение выберите пункт Развернуть решение. При этом ACSX-файл будет автоматически сохранен и развернут в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, а веб-приложение — перезапущено, в результате чего все ACSX-файлы в этой папке будут перезагружены.
Перейдите в эмуляторе устройства или на устройстве к списку Объявления, а затем выберите элемент для отображения. Должен появиться новый заголовок, как показано на приведенном ниже снимке экрана.
См. также
Задачи
Настройка отображения поля на страницах для мобильных устройств