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

Дата последнего изменения: 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. В этом примере на мобильной форме для элемента списка Объявления создается элемент, заменяющий новый заголовок для элемента.

Настройка поля заголовка элемента объявления

  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 и присвойте ему идентификатор, ожидаемый средой выполнения: MobileCustomListField_Announcements_Text_Title.

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

    <Template>
      <mobile:Label Text="Title field in Announcements List" 
        RunAt="Server" />
    </Template>
    
  8. В меню Построение выберите пункт Развернуть решение. При этом ACSX-файл будет автоматически сохранен и развернут в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, а веб-приложение — перезапущено, в результате чего все ACSX-файлы в этой папке будут перезагружены.

  9. Перейдите в эмуляторе устройства или на устройстве к списку Объявления, а затем выберите элемент для отображения. Должен появиться новый заголовок, как показано на приведенном ниже снимке экрана.

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

См. также

Задачи

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

Концепции

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

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