2010-06-03 10 views
1

Comment définir la visibilité d'un contrôle (fileupload) du code ASP.net (j'ai besoin de masquer un contrôle fileupload dans un contrôle webuser du site serveur, sinon, ifFIle est toujours faux). La définition de la propriété "Visible" sur false ne fonctionne pas non plus (comme c'est le cas pour le panneau AJAX, donc le fileupload oublie qu'il a un fichier). TheFileUpload.Visible = false => ne fonctionne pas donc je veux essayer de définir la visibilité du style CSS à caché ou afficher à aucun.modifier Visibilité d'un contrôle dans le code ASP.NET derrière (C#)

Le problème principal est que je veux le faire du côté du serveur (je sais comment je pourrais le faire sur le client).

Yat-il un moyen sûr d'écraser

theFileUpload.Attributes [ « styles »]

dans le cas où je modifie d'autres styles CSS là-bas, jeter aussi une classe CSS à elle (par moidifying la Propriété CSSClass) semble être trop lourde.

merci à l'avance Axel

+0

ressemble à ce que fileupload est en dehors de votre panneau de mise à jour - pour avoir Visible = travail faux, vous pouvez l'ajouter dans le panneau ou faire l'événement déclencheur faire une publication complète au lieu d'une partielle. –

Répondre

8

En utilisant theFileUpload.Visible = false; vous dit juste asp.net de ne pas rendre theFileUpload sur la page. Vous pouvez utiliser

theFileUpload.Attributes.CssStyle[HtmlTextWriterStyle.Visibility] = "hidden"; 

qui vous permet de définir uniquement une propriété CSS spécifique.

+0

Merci, je sais à propos de ce Visible = Faux, cela ne rend tout simplement pas le contrôle du tout; Je l'avais réglé pour écrire une classe et CssClass écraser : theFileUpload.CssClass = isVisible? "": "caché"; Mais vos solutions sont plus élégantes; besoin de le tester si. –