Compartir a través de


Tutorial: Personalización de títulos de elementos en formularios móviles

Última modificación: miércoles, 02 de febrero de 2011

Hace referencia a: SharePoint Foundation 2010

En este tutorial se muestra cómo personalizar la representación de los campos de las páginas móviles implementando una RenderingTemplate personalizada. El ejemplo muestra cómo personalizar, en el formulario de presentación móvil de elementos de lista, el campo Título en un elemento de una lista Anuncios. Para obtener información general sobre los pasos para personalizar los campos de las páginas móviles, consulte Procedimiento para personalizar la representación de campos en páginas móviles.

Como se describe en Sistema de representación de páginas móviles, una cadena de llamadas, con origen en un control de la página, dan como resultado una llamada a RenderingTemplate con un ID con el siguiente formato: MobileCustomListField_ListTypeID_FieldType_Field.

ListTypeID es el número de identificador del tipo de la lista actual (por ejemplo, 105) o uno de los valores de la enumeración SPListTemplateType por ejemplo, Contacts). FieldType es el tipo de datos del campo, por ejemplo, Text o Number, y Field es el nombre del campo, como WorkPhone. Si no existe RenderingTemplate con ese identificador, se usa el RenderingTemplate con el identificador MobileDefaultListField.

En Microsoft SharePoint Foundation, no hay RenderingTemplate con el identificador de MobileCustomListField_Announcements_Text_Title. En este tutorial, se crea uno que sustituye, en la página de presentación móvil de un elemento de la lista Anuncios, un título nuevo para el elemento.

Para personalizar el campo Título de un elemento Anuncios

  1. En Microsoft Visual Studio, cree un Proyecto de SharePoint vacío. Conviértalo en una solución de granja de servidores, no en una solución de espacio aislado.

  2. Agregue una Carpeta asignada de SharePoint a TEMPLATE\ControlTemplates.

  3. Haga clic con el botón secundario en la nueva carpeta y agregue un control de usuario de SharePoint. Asigne al archivo .ascx un nombre que lo distinga de los de otros proveedores de soluciones. Por ejemplo, ContosoMobileRenderingTemplates.ascx. Visual Studio agrega automáticamente el archivo al manifiesto de la solución de SharePoint y lo establece para que se implemente en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.

    SugerenciaSugerencia

    Para agregar el control de usuario, no haga clic con el botón secundario en el proyecto en el Explorador de soluciones. Cuando se agrega un control de usuario de esa manera, Visual Studio lo coloca en una subcarpeta de TEMPLATE\ControlTemplates. Si no se mueve, Visual Studio lo implementa en una subcarpeta correspondiente de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Las plantillas de representación móvil en las subcarpetas no se cargan.

  4. Elimine los archivos .ascx.cs y .ascx.designer.cs (o .ascx.vb y .ascx.designer.vb). No son necesarios para este proyecto.

  5. Reemplace toda la sección de directivas del archivo .ascx con el siguiente marcado.

    <%@ 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. A continuación de las directivas, agregue una RenderingTemplate y asígnele el identificador que el tiempo de ejecución está buscando: MobileCustomListField_Announcements_Text_Title.

    <SharePoint:RenderingTemplate RunAt="Server" ID="MobileCustomListField_Announcements_Text_Title" >
    
    </SharePoint:RenderingTemplate>
    
  7. Dentro del elemento RenderingTemplate defina un elemento Template que tenga un control secundario Label. Establezca el atributo de la etiqueta Text como se muestra a continuación.

    <Template>
      <mobile:Label Text="Title field in Announcements List" 
        RunAt="Server" />
    </Template>
    
  8. En el menú Compilación, seleccione Implementar solución. Esta acción guarda automáticamente el archivo .ascx, lo implementa en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates y recicla la aplicación web, de modo que todos los archivos .ascx en dicha carpeta se vuelven a cargar.

  9. Vaya a una lista Anuncios que tenga al menos un elemento con el emulador o dispositivo. Haga clic en un elemento para que aparezca. Debe ver el nuevo título tal y como se muestra en la siguiente imagen.

Formulario personalizado de presentación de elementos de dispositivos móviles

Vea también

Tareas

Procedimiento para personalizar la representación de campos en páginas móviles

Conceptos

Diseño y paginación de las páginas móviles

Sistema de representación de páginas móviles