Поделиться через


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

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

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

В этом разделе представлен обзор базовой процедуры по настройке отображения полей на страницах Microsoft SharePoint Foundation, доступных для мобильных устройств. Подробные пошаговые руководства по этой процедуре см. в статьях Пошаговое руководство. Настройка заголовков элементов в мобильных формах и Пошаговое руководство. Создание настраиваемого элемента управления визуализацией для мобильных страниц.

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

В частности, среда выполнения ищет элемент RenderingTemplate с идентификатором вида MobileCustomListField_идентификатор_типа_списка_тип_поля_поле.

Заполнители идентификатор_типа_списка, тип_поля и поле, определяются в статье Сегментированные идентификаторы шаблонов отображения.

Если элемент RenderingTemplate с искомым идентификатором не существует, используется объект RenderingTemplate с идентификатором MobileDefaultListField.

Существующие шаблоны визуализации

В следующем списке определяются элементы RenderingTemplate для отображения поля, которые уже существуют в MobileDefaultTemplates.ascx или GwbMobileDefaultTemplates.ascx при установке SharePoint Foundation.

  • MobileCustomListField_Contacts_Text_WorkZip

  • MobileCustomListField_PictureLibrary_Computed_ImageSize

  • MobileCustomListField_Posts_DateTime_PublishedDate

  • MobileCustomListField_Events_UserMulti_ParticipantsPicker

  • MobileCustomListField_CallTrack_DateTime_CallTime

  • MobileCustomListField_CallTrack_Computed_RefDetail

  • MobileCustomListField_Whereabouts_User_Name

Изменение файлов MobileDefaultTemplates.ascx или GwbMobileDefaultTemplates.ascx не поддерживается. Можно создавать новые элементы RenderingTemplate с повторяющимися именами (в собственном ASCX-файле), однако при этом существует риск нарушения работы других решений, которые установлены в развертывании SharePoint Foundation и зависят от исходных элементов RenderingTemplate с такими именами.

ПримечаниеПримечание

Элементы RenderingTemplate, которые поставляются с SharePoint Foundation, загружаются до загрузки настраиваемого шаблона отображения, поэтому при загрузке настраиваемого шаблона отображения, имя которого совпадает с именем существующего шаблона, исходный шаблон переопределяется. Если несколько настраиваемых элементов RenderingTemplate имеют одинаковые имена, элемент с последним по алфавиту именем файла переопределяет другие. Если в этом файле содержится несколько шаблонов с такими одинаковыми именами, ни один из этих шаблонов не загружается.

Кроме того, уже существует элемент RenderingTemplate по умолчанию с идентификатором MobileDefaultListField. Этот элемент используется средой выполнения во всех случаях, когда элемент RenderingTemplate для текущего списка и поля не определен. Аналогичный риск присутствует в тех случаях, когда создается новый элемент RenderingTemplate с таким именем.

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

  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. Добавьте шаблон отображения в ASCX-файл и присвойте ему идентификатор в следующем формате: MobileCustomListField_идентификатор_типа_списка_тип_поля_поле.

    • ListTypeID — либо число-идентификатор типа текущего списка (например 105), либо одно из значений перечисления SPListTemplateType (например Contacts).

    • Параметр тип_поля определяет тип данных поля, а параметр поле — внутреннее имя поля. Дополнительные сведения об использовании этих заполнителей см. в статье Система отображения страниц для мобильных устройств.

    В шаблоне отображения могут непосредственно объявляться отображаемые элементы управления, такие как Label, а также элементы управления отображением, производные от класса SPMobileBaseFieldControl.

  7. В меню Построение выберите команду Развернуть решение. При этом ACSX-файл будет автоматически сохранен и развернут в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, а веб-приложение — перезапущено, в результате чего все ACSX-файлы в этой папке будут перезагружены.

Пример

В следующем примере определения элемента RenderingTemplate показано создание нового поля заголовка для элементов в списках Извещения. Подробные примеры см. в статьях Пошаговое руководство. Настройка заголовков элементов в мобильных формах и Пошаговое руководство. Создание настраиваемого элемента управления визуализацией для мобильных страниц.

<SharePoint:RenderingTemplate RunAt="Server" ID="MobileCustomListField_Announcements_Text_Title" >
  <Template>
    <mobile:Label Text="Title field in Announcements List" RunAt="Server" />
  </Template>
</SharePoint:RenderingTemplate>

См. также

Задачи

Пошаговое руководство. Настройка заголовков элементов в мобильных формах

Пошаговое руководство. Создание настраиваемого элемента управления визуализацией для мобильных страниц

Концепции

Практическое руководство. Создание определения настраиваемого типа поля

Общие сведения о файлах Schema.xml

Общие сведения о файлах Onet.xml