2010-03-15 4 views
0

J'essaie de définir le style d'un ASP: TextBox dans codebehind, la zone de texte est initialement définie à style="display:none" lorsque je définis le code à bloquer dans le code derrière la zone de texte apparaît pendant un moment et puis il est parti. Je ne sais pas ce que ce problème est, quand il est fait en javascript il fonctionne très bienComment modifier le style pour un asp: textbox à codebehind?

Voici le code:

Code asp.net:

<asp:TextBox ID="txtError" style="display:none" runat="server" ReadOnly="True" Width="95%"></asp:TextBox>

codebehind:

txtError.Style["display"] = "block"; 

que je fais quelque chose de mal? Merci d'avance.

Répondre

1

Tout contrôle .NET a Visible propriété - vous devez l'utiliser au cas où vous n'avez pas besoin d'un contrôle à afficher plus tard (si visible est définie sur le contrôle faux ne sera pas rendu du tout).

En ce qui concerne votre question - je pense qu'il ya un code client (javascript) qui change le style de zone de texte retour à display:none;

+0

Je trouve qu'il ya un événement window.load dans le code javascript qui remet à zéro la propriété. Merci beaucoup – Fahad

0

Qu'en est-il de définir la propriété Visible?

txtError.Visible = false; 

Si cela ne fonctionne pas, vous devez redéfinir la valeur sur none. Vérifiez également si l'un des éléments parents de la zone de texte n'est pas masqué.

également pas besoin de régler l'affichage d'une zone de texte pour bloquer (sinon prévu, de manière), utiliser en ligne à la place.

4

Si vous utilisez

txtError.Visible = false; 

Vous ne pouvez pas accéder à la zone de texte en utilisant JavaScript. Si vous voulez juste changer la visibilité que vous pouvez utiliser

txtError.Style.Add("display", "none"); 
Questions connexes