2009-12-10 16 views
26

keine durch Code anzuzeigen habe ich versucht, diesewie hinter

login_div.Style("display") = "none"; 

Aber es ist nicht working.how kann ich die Anzeige des div zu keiner durch den Code hinter gesetzt, in aspx habe ich ein div:

<div id="login_div" runat="server"> 
+0

Wenn Sie die CSS 'Anzeige eingestellt: none;' dann wird es nicht angezeigt werden soll. Ich verstehe nicht, was du fragst. – Earlz

+0

@earlz: Es wird nicht * anfänglich * angezeigt, aber es kann mit Javascript geändert werden. – JoshJordan

+0

eigentlich möchte ich es in Codebehind-Datei tun – Mishigen

Antwort

51

ich glaube, das sollte funktionieren:

login_div.Attributes.Add("style","display:none"); 
+0

es gibt mir einen Fehler, dass htmlcontrol nicht enthält eine Definition von AddAttributes – Mishigen

+1

Sorry, falsche Syntax. Korrigiert. –

+0

Wenn ich die Anzeige wieder auf normal einstellen möchte, meine ich, wie kann ich den Anzeigestil zurücksetzen = '' ?? – Jahangeer

2

Da dies ein Login div ist, sollte nicht der Standard sein, NICHT anzeigen. Ich gehe weiter und nehme dann an, dass du es dann via Javascript anzeigen willst.

<div id="login" style="display:none;">Content</div> 

Dann jQuery:

<script type="javascript">$('#login').show();</script> 

Eine andere Methode, die Sie könnte, ist so etwas betrachten:

<div id="login" style="display:<%=SetDisplay() %>">Content</div> 

Und die SetDisplay() -Methode Ausgang "none" oder "Block"

1
if(displayit){ 
    login_div.Style["display"]="inline"; //the default display mode 
}else{ 
    login_div.Style["display"]="none"; 
} 

Hinzufügen von th Code in Page_Load sollte funktionieren. (Wenn es bei Page_Init tun werden Sie mit Ansichtszustand zu kämpfen haben zu ändern, was man in sie)

4

versuchen, diese

<div id="login_div" runat="server">

und auf den Code hinter. Versuchen

login_div.Style.Add("display", "none");

10

wenn dies funktioniert:

Panel2.Style.Add("display", "none");