2010-10-14 10 views
2

J'ai un panneau avec des propriétés, définissez Visible sur FalseMarque Panel visible à l'aide javascript

<asp:Panel ID="pnlUpload" runat="server" Visible="False" /> 

et je tente de le rendre visible en utilisant javascript code ci-dessous

document.getElementById('<%= Panel1.ClientID %>').style.visibility = 'visible'; 

mais cela ne fonctionne pas, une idée les gars?

Répondre

2

Je réponds à cette expérience avec ASP zéro mais beaucoup de JS/HTML/CSS expérience si garder avec moi si je suis tout à fait tort ...

Je dirais que l'étiquette Visible="False" ne correspond pas à la CSS style="visibility:hidden;" donc cet appel JS n'aura aucun effet.

7

La définition de Visible = "false" empêche le rendu du panneau dans le code HTML généré. Si vous voulez le faire apparaître/cacher du côté client, vous devez le rendre Visible = "true" et utiliser une classe CSS/dans l'attribut style ayant la propriété "display" avec la valeur "block" ou "none" comme Champs obligatoires.

+0

C'est exactement ce que je soupçonnais, +1 –

+1

ASP: la sémantique rupture depuis 1996 – annakata

0

je répondre à presque zéro expérience ASP, comme Flash84x :-)

Il semble que dans asp, lorsque vous définissez « Visibile = false », le panneau n'est pas créé.

Et si vous souhaitez utiliser JavaScript et non l'installation de .NET pour afficher, masquer un panneau, vous devez appliquer un style directement dans la balise comme ceci:

<asp:Panel id="pnlUpload" runat="server" 
    Style="visibility:hidden;background-color:#CC9999; 

couleur: #FFFFFF; largeur: 200; hauteur: 200; bordure: solide 1; padding: 10" > .....

Et puis il rendere somthing comme celui-ci en html :

<div id="pnlUpload" class="text" style="visibility:hidden; 

background-color: # CC9999; couleur: #FFFFFF; largeur: 200; hauteur: 200; bordure: solide 1; remplissage: 10 "> .....

</div> 

Et bien sûr, le javascript correspondant serait:

<script language="JavaScript"> 
document.getElementById('pnlUpload').style.visibility = 'visible'; 
</script> 
0

S'il vous plaît mettre votre panneau dans un div et changer le style en utilisant la manière suivante

<div> 
<asp:Panel ID="pnlUpload" runat="server" Visible="False" /> 
</div> 

javascript

function visible() 
{ 
document.getElementById('<%=pnlUpload.ClientID %>').style.display = 'block' 
} 
0

Pour afficher les commandes de asp vous devez utiliser la propriété

ClientVisible 

Exemple:

<asp:Panel ID="someId" runat="server" ClientInstanceName="someIdClient" ClientVisible="False" /> 

Comme mentionné dans un précédent l'attribut

Visible="False" 

conduit à ne pas rendre le contrôle.

Pour accéder à la commande cachée via Javascript vous tapez simplement:

function myFunction(){ someIdClient.SetVisible(true) 
1

J'ai essayé .style.visibility = 'visible' et visible = "true" et .style.display = 'bloc' et .style.display = 'en ligne' toutes ces choses ne fonctionnent pas. mais si vous écrivez .style.display = 'none' cela fonctionne. tout organisme connaît la solution S'il vous plaît laissez-moi savoir Merci