2009-09-28 10 views
1

Je tente de masquer complètement un composant WebPart personnalisé que j'écris dans des circonstances spécifiques. Ce que je ne trouve pas beaucoup d'aide est en réalité cacher la partie Web complète. L'utilisation de:Masquage d'un composant WebPart personnalisé dans SharePoint

this.Hide = true; 

va masquer le contenu de la partie Web, mais elle semble laisser le Chrome derrière. Je ne peux pas changer l'affichage de Chrome, donc ce n'est pas une option pour le moment. Existe-t-il un moyen plus complet de masquer la partie Web complète en utilisant C#?

Répondre

4

Je ne m'inquiète pas de la rendu ou non de la partie web, je n'ai pas d'affichage visuel. Ce que j'ai fini par faire est de changer le chrome par le code si ma situation spécifique se présente.

this.ChromeType = PartChromeType.None; 
this.Hidden = true; 
+0

Cela devrait le faire. –

3

La seule façon de s'assurer que rien n'est rendu à la page est de fermer la partie Web. From MSDN:

Un contrôle WebPart qui est caché reste dans sa zone, est en fait rendu sur sa page, et participe dans les phases du cycle de vie des pages telles que la phase PreRender, même si ce n'est pas visible dans un navigateur Ceci est différent de contrôles qui WebPart sont fermés, car les contrôles fermés ne sont même pas rendus sur une page ...

Utilisez le SPLimitedWebPartManager et sa méthode CloseWebPart pour ce faire. (Veillez à éliminer correctement SPLimitedWebPartManager ainsi que sa propriété Web.)

Vous pouvez également utiliser une approche CSS ou jQuery. La partie Web sera toujours rendue mais vous pourrez la cacher comme vous le vouliez au départ.

Questions connexes