Pregunta

En un sitio de publicación, quiero crear una parte web que muestre el resultado de una consulta con una pantalla personalizada (una especie de rotador).

Como el objetivo de la parte web es ser reutilizable y debe ser simplemente configurable por el usuario, me pregunto cuáles son los pros y los contras de los siguientes enfoques:

  • Parte web personalizada que produce el HTML de una manera "codificada". Agregue el panel de herramientas para permitir que el usuario configure los datos
  • PARTE web de consulta de contenido con una transformación XSLT
  • Partido web de Silverlight con un panel de opciones personalizado dentro del WebPart

Siento que la segunda solución puede ser mejor porque toda la configuración de la WebPart ya está aquí, pero me temo que un poco el XSLT será bastante doloroso.

Gracias de antemano por sus comentarios

¿Fue útil?

Solución

No tengas miedo de XSLT. Esto le dará una gran cantidad de poder sin tener que desarrollar o desplegar nada a cambio de un poco de esfuerzo para comprenderlo. Siempre recomiendo comenzar con una transformación de identidad para que pueda ver el XML que está llegando, y luego comenzar a agregar plantillas para procesar los nodos que le interesa.

Visual Studio tiene excelentes herramientas para trabajar con XSLT. Puede crear un XSLT intitial con una transformación de identidad y luego usarla para transformar un archivo XML de origen (correspondiente a los datos de su lista). Luego puede iniciar la transformación en modo de depuración y punto de ruptura y atravesar su XSLT.

Dicho esto, hay casos en los que escribir una parte web personalizada tiene sentido. Puede haber algo que necesite que CQWP no pueda hacer, o la solución CQWP puede ser muy complicada en algunos casos. Eso es algo que debe decidir al comprender el problema. Pero no evite CQWP debido a XSLT.

Otros consejos

Para su caso, es decir, mostrando resultados con pantalla personalizada, recomendaría dos opciones:

  1. Transforme los resultados en el lado del cliente, por ejemplo, si usa algún tipo de complemento jQuery para rotador, sería posible inicializar los datos de resultados para rotadores con jQuery.
  2. La opción de extender el CQWP, en ese caso, puede personalizar la representación de resultados, por ejemplo, ver mi blog Renderización de contenido Los resultados de la pieza web de consulta en el diseño de la tabla Acerca de cómo organizar elementos en el diseño de la mesa antiguo en lugar del diseño de la lista

Otra opción, expandiéndose en la respuesta de Bill (Spdoctor), es extender el CQWP, creando una nueva clase para su parte web que herede de ContentByQueryWebPart.

Esto le permitirá agregar más opciones al Toolpane para controlar la lógica, así como hacer que los métodos personalizados estén disponibles en su XSLT, para el que puede escribir "código-detención" en la clase de su WebStar.

Waldek Mastykarz ha cubierto esto en una serie de excelentes publicaciones de blog en este sitio: http://blog.mastykarz.nl/extending-content-query-web-part-with-custom-data/

Licenciado bajo: CC-BY-SA con atribución
scroll top