A renderização parcial do ASP.NET AJAX pode funcionar dentro de uma página de aplicativo do SharePoint 2007?

StackOverflow https://stackoverflow.com/questions/3075

  •  08-06-2019
  •  | 
  •  

Pergunta

Eu tenho uma página simples com meu ScriptManager e meu UpdatePanel, e meu ContentTemplate tem um ListBox e um rótulo.Eu só estou tentando pegar seu OnSelectionChanged para que eu possa atualizar o texto no Label.Não importa quais configurações eu tente ajustar, sempre recebo um postback de página inteira.

Isso realmente não vai funcionar ou estou apenas estragando tudo?

Foi útil?

Solução

Você precisa ter o service pack 1 do Sharepoint 2007 - ou então não há chance.(O Sharepoint 2007 é anterior ao ajax 1.0 - eles criaram algum suporte no service pack 1)

Em seguida, do ponto de vista da resolução de problemas, teste se o exato o mesmo código funciona conforme o esperado quando hospedado em uma página asp.net normal.(Literalmente copie e cole seu código em uma nova página, para descartar quaisquer erros tipográficos).Colocar o sharepoint dentro ou fora da área do problema ajudará a diminuir o espaço de solução.

Outras dicas

Se você instalou o SharePoint 2007 (sem Service Pack 1), poderá seguir um exemplo como o seguinte artigo:

Parte AjaxBase:Extensões AJAX 1.0 fáceis do ASP.NET 2.0 e Office SharePoint Server 2007

A razão para isso é que existe um problema específico ao misturar doPostback, UpdatePanel e SharePoint - e o sintoma é exatamente o que você está vendo:um postback de página inteira em vez de um postback assíncrono.Consulte este artigo da base de conhecimento para obter uma solução alternativa: Uma Web Part que contém um controle UpdatePanel do ASP.NET AJAX 1.0 que usa a propriedade _doPostBack() ...

Caso contrário, você pode simplesmente instalar o Service Pack 1 para resolver seu problema:

Windows SharePoint Services 3.0 Service Pack 1 (SP1)

Há um problema específico ao misturar doPostback, UpdatePanel e SharePoint – e o sintoma é exatamente o que você está vendo:um postback de página inteira em vez de um postback assíncrono.Consulte este artigo da base de conhecimento para obter uma solução alternativa: http://support.microsoft.com/kb/941955

Todd Bleeker, da Mindsharp, me mostrou um trecho de código que ele escreveu que pode usar Ajax no Sharepoint 2.0.Foi muito legal.Acredito que a empresa o usou em seu software de gerenciamento de sites sharepoint, se você quiser dar uma olhada.(você costumava solicitar um teste de 30 dias).Aposto que como fazer isso está no grupo deles no Google (não me lembro o nome, mas tenho certeza que se você procurar por mindsharp, você o encontrará).

Como observação, o Ajax já existe há muito tempo.A Microsoft o suportou facilmente desde 2002, talvez antes do lançamento do IE 5.5 (não sei sobre outros navegadores, eu estava fazendo desenvolvimento interno e só apoiávamos o IE na época).Simplesmente não foi chamado assim.O termo Ajax nada mais é do que um termo de marketing que alguém cunhou mais tarde.

Obter o service pack mais recente para o SharePoint 2007 resolverá seu problema (e adicionará suporte completo para AJAX).Sem o service pack você precisará seguir um exemplo como o descrito neste artigo:

Parte AjaxBase:Extensões AJAX 1.0 fáceis do ASP.NET 2.0 e Office SharePoint Server 2007

Postar isso para que as pessoas saibam que há uma resposta mesmo sem o service pack mais recente (a resposta do secretGeek parece dizer que não há chance).

Do ponto de vista tecnológico, o Service Pack 1 não adicione suporte completo para ASP.NET AJAX.Você ainda precisa usar as soluções alternativas descritas nos vários artigos mencionados nas respostas anteriores.

Particularmente, você precisa ter certeza de que o arquivo web.config do seu aplicativo Web do SharePoint foi atualizado para oferecer suporte à versão apropriada das extensões ASP.NET AJAX.

O fato de o web.config não ter sido atualizado foi a causa mais provável do problema descrito na pergunta original.

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