Pergunta

Os dados da lista podem ser expostos por meio de um serviço da Web, mas como as web parts também podem ser expostas por meio de um serviço da Web?

Eu acho que esta pergunta é semelhante a https://stackoverflow.com/questions/7115858/sharepoint-2010-web-part-expose-web-service , a diferença é que desejo expor o conteúdo da web part por meio de uma chamada de serviço web do sharepoint, isso é possível?

por exemplo :se a webpart contiver uma imagem, exponha essa imagem por meio do serviço web do sharepoint

Foi útil?

Solução

Não tenho certeza de como você faria isso através de um serviço da web, se você puder.No entanto, você pode facilmente fazer isso com o script lateral do cliente usando o Ajax.Basta obter a página com a Web Part, analisando o conteúdo e exibi-lo onde você deseja na página atual.

Outras dicas

Se se trata apenas de obter conteúdo da webpart de uma página acessível no mesmo domínio, não acho que você precisará de um serviço da web para isso.

Você pode colocar sua webpart dentro de uma div (id=container) e usar abaixo o Jquery:

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

Quando este método é executado, ele recupera o conteúdo de páginas do site/teste.aspx, e, em seguida, o jQuery analisa o documento retornado para encontrar o elemento com um ID de contêiner.Este elemento, juntamente com seu conteúdo, é inserido no elemento com um ID de resultado, e o restante do documento recuperado é descartado.

Se você precisar acessar o conteúdo da webpart em uma página fora do domínio, você usa contents() função jquery conforme mencionado aqui:

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

De qualquer forma, se você está determinado a optar pelo serviço da web, é necessário codificar para isso.No método web, você pode analisar a página e retornar o conteúdo das seções html necessárias usando HTMLAgilityPack

Uma Web Part é para exibir conteúdo, não para fornecer um repositório de conteúdo para outros componentes. Algumas opções:

    .
  1. Talvez você não precise de uma web part, apenas crie uma lista e guarde a imagem lá.

  2. Talvez você também precise de uma jornada. Crie uma lista, guarde a imagem lá e referência a imagem da Web Part. Outros componentes poderiam então referência também a mesma lista.

  3. Talvez haja várias imagens disponíveis, mas a Web Part está fazendo alguma lógica para determinar qual é a imagem "ativa" a ser exibida. Neste caso, ou a) mova esta lógica para um serviço da Web personalizado e ligue para esse mesmo serviço da Web da Web Part, bem como com outros componentes, ou b) ter a Web Part também atualizar uma lista personalizada com o nome / caminho de a imagem atual "ativa". Outros componentes poderiam ler a lista personalizada para obter a imagem. (Eu gosto da ideia de um serviço da Web personalizado melhor de uma base arquitetônica, mas seria um pouco mais difícil de configurar no SharePoint. Ter uma lista personalizada que as atualizações da Web Part parecem não ser tão limpas, mas Muito mais fácil de configurar.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top