Pregunta

Los datos de la lista se pueden exponer a través de un servicio web, pero ¿cómo se pueden exponer también los elementos web a través de un servicio web?

Creo que esta pregunta es similar a https://stackoverflow.com/questions/7115858/sharepoint-2010-web-part-expose-web-service , la diferencia es que quiero exponer el contenido del elemento web a través de una llamada al servicio web de SharePoint, ¿es esto posible?

p.ej :si el elemento web contiene una imagen, exponga esta imagen a través del servicio web de SharePoint

¿Fue útil?

Solución

No estoy seguro de cómo lo haría a través de un servicio web, si puede incluso.Sin embargo, puede hacerlo fácilmente con el script del lado del cliente con AJAX.Simplemente obtenga la página con la parte web en él, analice los contenidos y visualice dónde desea en la página actual.

Otros consejos

Si se trata solo de obtener contenido de elementos web de una página accesible dentro del mismo dominio, no creo que necesite un servicio web para ello.

Puede colocar su elemento web dentro de un div (id=container) y usarlo a continuación Jquery:

$('#result').load('sitepages/test.aspx #container');

Cuando se ejecuta este método, recupera el contenido de páginas del sitio/test.aspx, y luego jQuery analiza el documento devuelto para encontrar el elemento con un ID de contenedor.Este elemento, junto con su contenido, se inserta en el elemento con un ID de resultado y el resto del documento recuperado se descarta.

Si necesita acceder al contenido del elemento web en una página fuera del dominio, utilice contents() función jquery como se menciona aquí:

https://stackoverflow.com/questions/1796619/how-to-access-the-content-of-an-iframe-with-jquery

En cualquier caso, si está decidido a optar por el servicio web, debe codificarlo.En el método web, puede analizar la página y devolver el contenido de las secciones html que necesita usando HTMLAgilityPack

Una parte web es para mostrar contenido, no proporcionar un repositorio de contenido para otros componentes. Algunas opciones:

  1. Tal vez no necesita una parte web en absoluto, simplemente cree una lista y guarde la imagen allí.

  2. Tal vez también necesite una parte web. Cree una lista, guarde la imagen allí, y haga referencia a esa imagen de la parte web. Otros componentes podrían entonces hacer referencia a la misma lista.

  3. Tal vez hay varias imágenes disponibles, pero la parte web está realizando una lógica para determinar cuál es la imagen "activa" que se mostrará. En este caso, a) Mueva esta lógica a un servicio web personalizado y llame a este mismo servicio web tanto de la parte web como de otros componentes, o b). Tener la parte web también actualice una lista personalizada con el nombre / ruta de La imagen actual "activa". Otros componentes podrían leer la lista personalizada para obtener la imagen. (Me gusta mejorar la idea de un servicio web personalizado de una base arquitectónica, pero sería bastante más difícil configurar en SharePoint. Tener una lista personalizada que las actualizaciones de la parte web parecen estar tan limpias, pero serían mucho más fácil de configurar.)

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