Modification de la Visibilité de Divs de Code Derrière (ASPX)
J'ai un tableau en html, et à l'intérieur de cette table il y a plusieurs lignes 'tr',
à l'intérieur de chaque ligne, il y a plusieurs colonnes 'td'.
Ce que j'en ai besoin pour changer entre deux td est de montrer à l'intérieur d'une ligne particulière.
I ont tous les deux spécifiés dans un fichier aspx, comme dans l'exemple ci-dessous.
<div id="DirCaDiv1" runat="server" visible="false">
<td class="heading4" align="left" style="width: 21%" id="DirAreaDiv_Text" runat="server" >
Dir.Área: </td>
</div>
<div id="DirBaDiv1" runat="server" visible="false">
<td class="heading4" align="left" style="width: 21%" id="DirCoordDiv_Text" runat="server" >
Dir.Coord.: </td>
</div>
Et dans mon fichier aspx j'ai une zone de liste déroulante de l'événement (combobox_changed) qui permet de changer la visibilité de chaque div.
Il met un DirCaDiv1.visible="false" et une autre DirBaDiv1.Visible="true"
Mais je ne sais pas pourquoi, ça ne fonctionne pas, j'ai modifier l'élément sélectionné dans l'autre zone de liste déroulante qui est à l'aide de l'événement,
et rien ne se passe...
Merci beaucoup à l'avance 😉
OriginalL'auteur TiagoM | 2013-11-18
Vous devez vous connecter pour publier un commentaire.
En fait, c'est parce que la propriété visible est un bool pas une chaîne de sorte qu'au lieu d'utiliser le mot "vrai" ou "faux" utilisation DirCaDiv1.Visible = true;
Voir aussi
http://msdn.microsoft.com/en-us/library/system.web.ui.control.visible(v=vs. 100).aspx
Ainsi, lorsque vous définissez la propriété lors du débogage de ce qui se passe?
Rien, le td de la première div continue de s'afficher..
La zone de liste déroulante ne peut pas générer un message de retour donc ajouter un autopostback="true" pour votre zone de liste modifiable de balisage
OriginalL'auteur Mike Beeler
qui fonctionne pour moi
OriginalL'auteur Akshay
En réalisant que c'est vraiment un vieux question...
Première, le HTML, c'est horriblement cassé, vous ne pouvez pas avoir un
div
en tant que parent d'untd
.Deuxième, vérifier la
OnPageLoad
événement n'est pas de réglage de la zone de liste déroulante et, par conséquent, la modification de la valeur sélectionnée. Toute l'initialisation doit prendre place à l'intérieur deif(!IsPostback){/*Do Your Stuff here*/}
Je vais mettre le texte d'un littéral de contrôle, cela permettra de veiller à aucun autre HTML est rendu à la page. Remarque il n'y a pas
div
et un seultd
. C'est une bonne chose! Sinon, vous pourriez tout simplement lainnerText
ouinnerHtml
de la TD directementASPX
C# Code-Behind dans la zone de liste déroulante gestionnaire d'événement
OriginalL'auteur Jon P
J'ai eu un problème similaire, où je ne pouvais pas mettre un
div
élément visible(divSomeName.Visible=true;)
, ce qui me laisse perplexe pendant un moment. Puis, j'ai découvert que la raison pour laquelle a été dans l'élément parent, quiVisible
propriété a été définie àfalse
. J'ai résolu mon problème en déplaçant lediv
élément de l'invisible parent.OriginalL'auteur SHS