vendredi 15 octobre 2010

Sharepoint – Webpart et ValidationGroup en WCM

Si vous déployez une webpart, contenant un formulaire avec validation, dans une page de publication, au moment de l’archivage de la page, vous obtenez le message suivant :

Cette page contient du contenu ou une mise en forme non valide. Vous trouverez plus d'informations dans les sections concernées.
Options :  Quitter sans enregistrer

La solution est de remplir tous les champs du formulaire pour satisfaire la validation : Bof, pas très productif et pour expliquer ça aux collaborateurs du website !!

L’idée, pour éviter ça, est de ne pas afficher le formulaire lorsque la page est en mode “Edition” :

WebPartManager wp = WebPartManager.GetCurrentWebPartManager(this.Page);
if (wp.DisplayMode == WebPartManager.BrowseDisplayMode)
{
Control control = this.Page.LoadControl(ASCX_PATH);
Controls.Add(control);
}
else
{
Controls.Add(new LiteralControl("Mode édition - Pas d'affichage du formulaire"));
}

Donc en mettant le code ci-dessus dans le “CreateChildControls” de la WebPart, en mode édition, on affiche un message au lieu du formulaire.

Après archivage, on visualise le formulaire.


Donc plus de problème de validation.

1 commentaire: