Comment définir la propriété "Visible" d'un contrôle ASP.NET à partir d'une fonction Javascript?
Bascially je veux savoir la meilleure façon de cacher/montrer un ASP.NET contrôle à partir d'une fonction Javascript. J'ai pensé que je voudrais juste accéder au contrôle en Javascript à l'aide de:
var theControl = document.getElementById("txtEditBox");
Puis il suffit de définir la propriété Visible du contrôle de vrai/faux. Il ne semble pas fonctionner, je n'arrive pas à comprendre comment mettre en "Visible" à "vrai/faux". Comment puis-je le faire? Aussi, c'est que la meilleure façon de cacher/montrer un ASP.NET contrôle à partir d'une fonction Javascript?
Grâce,
Jeff
source d'informationauteur Yttrium
Vous devez vous connecter pour publier un commentaire.
La propriété "Visible" d'un ASP.NET contrôle détermine si oui ou non il sera rendu sur le client (c'est à dire envoyé au client). Si elle est fausse lorsque la page est affichée, il n'arrivera jamais au niveau du client.
Donc, vous ne pouvez pas, techniquement, définissez la propriété du contrôle.
Cela dit, si le contrôle est rendu sur le client, car la propriété Visible est vrai lorsque la page est affichée, vous pouvez la masquer à l'aide de javascript comme ceci:
Qui suppose que le contrôle de l'
id
attribut est vraiment "txtEditBox" sur le client et qu'il est déjà visible.Il n'est pas nécessairement une "meilleure" façon, même si une meilleure approche est d'utiliser la classe CSS définitions:
Quand vous voulez quelque chose à cacher, appliquer dynamiquement la classe de l'élément; si vous voulez l'afficher à nouveau, retirez-la. Remarque, je crois que cela ne fonctionne que pour les éléments dont la
display
valeur commence commeblock
.au lieu d'utiliser visible, définir son css display:none
Définir le style "display: none".
Cela devrait masquer le contrôle:
Vous pouvez utiliser la propriété display pour cela. Mais Jason a noté, c'est une DHTML DOM (côté client) d'un bien qui est totalement indépendant de la ASP.NET (côté serveur) propriété Visible qui contrôle le rendu.
Propriété D'Affichage
Vous ne pouvez pas masquer/afficher le
ASP.NET
version du contrôle qui n'existe que dans un contexte de serveur. Pour l'utilisation de JavaScript, vous devrez jouer avec les contrôles de style et de la visibilité de l'état.Le seul genre de la façon de le faire serait pour envelopper le contrôle dans un UpdatePanel et avoir quelque chose comme ceci:
Alors vous avez besoin de ces dans votre code derrière:
Maintenant, lorsque vous cliquez sur le bouton async publication, et il se produit permettra d'actualiser l'UpdatePanel.
Remarque: Ce n'est pas un bonne solution, comme ça va être du très lourd requête AJAX, parce que vous avez besoin de présenter l'état d'affichage.
Aussi, il ne peut pas être à 100%, je l'ai fait à partir de la mémoire.
Vous souhaitez définir le style d'affichage de la propriété sur "aucun" (cacher) ou
null
montrer.Faire le jQuery façon:
Ou si vous ne voulez pas utiliser de css: