4 votes

Comment dépanner l'erreur "The server tag is not well formed." sur SharePoint?

Je suis en train d'essayer de modifier un site SharePoint wss3 de legacy.

En manipulant une page aspx de plus de 700 lignes de code, j'ai obtenu une erreur "La balise de serveur n'est pas bien formée" sur SharePoint et le truc ?content=1 ne fonctionne pas.

Est-ce que quelqu'un a un conseil sur la façon d'identifier la ligne qui cause le problème ? J'espère obtenir quelque chose comme le ysod aspnet, au moins ça serait utile.

Si ça vaut quelque chose, j'ai accès au serveur réel.

Mise à jour : Je sais que l'erreur est due à un problème de balisage, comme l'a gentiment souligné ArenB. Ce que j'aimerais savoir, c'est comment trouver se trouve l'erreur parmi les 700 lignes.

Mise à jour 2 : J'ai trouvé une solution de contournement et je l'ai postée en tant que réponse, mais la question est toujours ouverte en attendant que quelqu'un donne une réponse sur la façon d'obtenir un message d'erreur plus descriptif.

7voto

khalid13 Points 731

En faisant ctrl+k,d sur la page dans Visual Studio, vous devriez obtenir une approximation de l'emplacement de l'erreur. Le raccourci tente de formater la page aspx pour vous, et s'il échoue à le faire, il vous indique pourquoi en vous pointant vers la ligne où il a trouvé quelque chose de problématique.

5voto

aloisdg Points 1341

J'ai résolu mon problème grâce à la réponse de @Aren. Mon xml était bon, enfin presque. Vous ne pouvez pas utiliser "..." à l'intérieur de " ". Vous devez passer à '.

J'ai écrit :

        " />

au lieu de :

Je espère que cela peut faire gagner du temps à quelqu'un d'autre.

3voto

Aren Points 17843

La balise server n'est pas bien formée signifie que vous avez une balise incorrecte. Par exemple :

Remarquez le > manquant dans la partie supérieure de la balise

L'autre manière dont cela pourrait se produire est si vous vouliez créer une balise terminée mais avez oublié le / ce qui vous laisse avec une balise de fin manquante.


  • Pour localiser la ligne, utilisez un mécanisme de différenciation pour voir les lignes que vous avez modifiées et essayez de localiser la mauvaise balise.
  • Ou vous pouvez exécuter un validateur XML sur le code, bien que ASP puisse avoir des comportements particuliers avec un validateur XML standard.

1voto

David Lay Points 1642

D'accord, j'ai trouvé un moyen manuel qui pourrait être utile à quelqu'un, mais ce n'est pas non plus idéal.

Tout d'abord, récupérez le code de la page aspx et collez-le sur un autre fichier (en tant que sauvegarde). Ensuite, supprimez WebPart par WebPart, puis WebPartZones et ensuite tout autre balisage côté serveur possible jusqu'à ce que la page cesse de se casser. De cette façon, vous saurez au moins où se situe l'erreur.

Pour moi, cette fois-ci, c'était une WebPartZone qui avait deux attributs ensemble, sans espaces entre eux. Ce genre d'erreurs peut être très délicat.

Je ne referai jamais ce piratage de barbare fou sur une page aspx de SharePoint.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X