Le rendu partiel ASP.NET AJAX peut-il fonctionner dans une page d'application SharePoint 2007 ?

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

  •  08-06-2019
  •  | 
  •  

Question

J'ai une simple page avec mon ScriptManager et mon UpdatePanel, et mon ContentTemplate en a un ListBox et une étiquette.J'essaie juste de l'attraper OnSelectionChanged pour que je puisse mettre à jour le texte dans le Label.Quels que soient les paramètres que j'essaie de modifier, je reçois toujours une publication d'une page entière.

Est-ce que ça ne va vraiment pas marcher, ou est-ce que je fais juste une erreur ?

Était-ce utile?

La solution

Vous devez disposer du service pack 1 de Sharepoint 2007, sinon il n'y a aucune chance.(Sharepoint 2007 est antérieur à ajax 1.0 - ils ont intégré une certaine prise en charge dans le service pack 1)

Ensuite, du point de vue du dépannage, vérifiez que le exact le même code fonctionne que prévu lorsqu'il est hébergé dans une page asp.net standard.(Copiez et collez littéralement votre code dans une nouvelle page, pour exclure toute erreur typographique).Diriger sharepoint dans ou hors de la zone à problème aidera à réduire l’espace de solution.

Autres conseils

Si vous avez installé SharePoint 2007 (sans Service Pack 1), vous pouvez suivre un exemple comme l'article suivant :

AjaxBasePart :Facile ASP.NET 2.0 Extensions AJAX 1.0 et Office SharePoint Server 2007

La raison en est qu'il existe un problème spécifique lors du mélange de doPostback, UpdatePanel et SharePoint - et le symptôme est exactement ce que vous voyez :une publication pleine page au lieu d’une publication asynchrone.Consultez cet article de la base de connaissances pour une solution de contournement : Un composant WebPart qui contient un contrôle UpdatePanel ASP.NET AJAX 1.0 qui utilise _doPostBack()...

Sinon, vous pouvez simplement installer le Service Pack 1 pour résoudre votre problème :

Windows SharePoint Services 3.0 Service Pack 1 (SP1)

Il y a un problème spécifique avec le mélange de doPostback, UpdatePanel et SharePoint -- et le symptôme est exactement ce que vous voyez :une publication pleine page au lieu d’une publication asynchrone.Consultez cet article de la base de connaissances pour une solution de contournement : http://support.microsoft.com/kb/941955

Todd Bleeker de Mindsharp m'a montré un morceau de code qu'il a écrit et qui peut utiliser Ajax sur Sharepoint 2.0.C'était plutôt cool.Je pense que la société l'a utilisé sur son logiciel de gestion de site SharePoint si vous souhaitez y jeter un œil.(avant, vous pouviez demander un essai de 30 jours).Je parie que comment le faire se trouve sur leur groupe Yahoo (je ne me souviens plus du nom, mais je suis sûr que si vous recherchez mindsharp, vous le trouverez.)

Pour rappel, l’Ajax existe depuis longtemps.Microsoft le supportait facilement depuis 2002, peut-être plus tôt avec la sortie d'IE 5.5 (je ne connais pas les autres navigateurs, je faisais du développement interne et nous ne prenions en charge que IE à l'époque).Cela ne s’appelait tout simplement pas ainsi.Le terme Ajax n’est rien d’autre qu’un terme marketing inventé plus tard par quelqu’un.

L'obtention du dernier service pack pour SharePoint 2007 résoudra votre problème (et ajoutera une prise en charge complète d'AJAX).Sans le service pack, vous devrez suivre un exemple comme celui décrit dans cet article :

AjaxBasePart :Facile ASP.NET 2.0 Extensions AJAX 1.0 et Office SharePoint Server 2007

Publier ceci pour que les gens sachent qu'il existe une réponse même sans le dernier service pack (la réponse de secretGeek semble dire qu'il n'y a aucune chance).

D'un point de vue technologique, le Service Pack 1 ne fait pas ajoutez la prise en charge complète d'ASP.NET AJAX.Vous devez toujours utiliser les solutions de contournement décrites dans les différents articles mentionnés dans les réponses précédentes.

En particulier, vous devez vous assurer que le fichier web.config de votre application Web SharePoint a été mis à jour pour prendre en charge la version appropriée des extensions ASP.NET AJAX.

Le fait que le web.config n'ait pas été mis à jour était la cause la plus probable du problème décrit dans la question d'origine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top