Ich habe ein div-Element auf meiner Seite, das ich basierend auf einem Sitzungswert in meinem CodeBehind ein- / ausblenden möchte. Wie kann ich das machen?
Gibt es eine Möglichkeit, dies ohne runat = "server" zu tun?
SalGad
1
@SalGad nicht, wenn Sie es mit verbergen möchten C#, runat="server"macht es das CodeBehind zugänglich, wo ausgeführt wird C#.
Bazzz
1
@SalGad @Bazzz ist richtig. Sie müssen angeben, runat="server"ob Sie dies in C # tun möchten, da Ihr C # -Code-Behind ohne C # Ihr <div>Element nicht "kennt" .
Erik Schierboom
1
@ SalGad Sie können es tun, aber das wäre eine Problemumgehung. Sie können warten, bis die Seite in Ihrem JS geladen ist, und dann etwas unternehmen. Keine klare Lösung - aber nur um Ihre Frage zu beantworten - ja, es gibt eine Möglichkeit, dies zu tun.
Alexey Shevelyov
Wenn Sie runat = server nicht verwenden möchten, müssen Sie es vor dem Frontend (Javascript) ausblenden
Mike
12
Wenn in Ihrem Div der Runat auf Server eingestellt ist, können Sie dies beispielsweise myDiv.Visible = falsein Ihrem Page_PreRenderEreignis tun .
Wenn Sie Hilfe bei der Verwendung der Sitzung benötigen, schauen Sie in msdn nach, es ist sehr einfach.
Die obigen Antworten sind in Ordnung, aber ich würde hinzufügen, um sicherzustellen, dass das div in der Datei designer.cs definiert ist. Dies ist nicht immer der Fall, wenn der ASPX-Datei ein Div hinzugefügt wird. Ich weiß nicht warum, aber es gibt Themen zu diesem Thema in diesem Forum. Z.B:
Antworten:
Geben Sie das div
"runat="server"
und einid
und Sie können es in Ihrem referenzierencode behind
.<div runat="server" id="theDiv">
Im Code dahinter:
{ theDiv.Visible = false; }
quelle
C#
,runat="server"
macht es das CodeBehind zugänglich, wo ausgeführt wirdC#
.runat="server"
ob Sie dies in C # tun möchten, da Ihr C # -Code-Behind ohne C # Ihr<div>
Element nicht "kennt" .Wenn in Ihrem Div der Runat auf Server eingestellt ist, können Sie dies beispielsweise
myDiv.Visible = false
in IhremPage_PreRender
Ereignis tun .Wenn Sie Hilfe bei der Verwendung der Sitzung benötigen, schauen Sie in msdn nach, es ist sehr einfach.
quelle
Ein schneller und einfacher Weg ist es, das Div als zu machen
<div runat="server" id="MyDiv"></div>
und auf Code hinter dir eingestellt
MyDiv.Visible=false
quelle
Versuche dies. Ihr Markup:
<div id="MyId" runat="server">some content</div>
.. und in der Datei aspx.cs:
protected void Page_Load(object sender, EventArgs e) { if (Session["someSessionVal"].ToString() == "some value") { MyId.Visible = true; } else { MyId.Visible = false; } }
quelle
if(condition) { prop = true; } else { prop = false; }
? Es gibt einen einfacheren Weg, das zu schreiben.In der HTML
<div id="AssignUniqueId" runat="server">.....BLAH......<div/>
Im Code
public void Page_Load(object source, Event Args e) { if(Session["Something"] == "ShowDiv") AssignUniqueId.Visible = true; else AssignUniqueID.Visible = false; }
quelle
arbeite mit dir wende runat = "server" in deinem div abschnitt an ...
<div runat="server" id="hideid">
Klicken Sie auf Ihrer Schaltfläche auf Ereignis:
protected void btnSubmit_Click(object sender, EventArgs e) { hideid.Visible = false; }
quelle
Geben Sie dem div "runat =" server "und einer ID und Sie können darauf in Ihrem Code dahinter verweisen.
<div runat="server" id="theDiv">
Im Code dahinter:
{ theDiv.Visible = false; }
In der Designer.cs-Seite:
protected global::System.Web.UI.HtmlControls.HtmlGenericControl theDiv;
quelle
Sie können auch von Ihrem Design versuchen
<div <%=If(True = True, "style='display: none;'", "")%> >True</div> <div <%=If(True = False, "style='display: none;'", "")%> >False</div> <div <%=If(Session.Item("NameExist") IsNot Nothing, "style='display: none;'", "")%> >NameExist</div> <div <%=If(Session.Item("NameNotExist") IsNot Nothing, "style='display: none;'", "")%> >NameNotExist</div>
HTML ausgeben
<div style='display: none;' > True</div> <div >False</div> <div style='display: none;' >NameExist</div> <div >NameNotExist</div>
quelle
Im Code dahinter:
{ yourDiv.Visible = false; }
quelle
Die obigen Antworten sind in Ordnung, aber ich würde hinzufügen, um sicherzustellen, dass das div in der Datei designer.cs definiert ist. Dies ist nicht immer der Fall, wenn der ASPX-Datei ein Div hinzugefügt wird. Ich weiß nicht warum, aber es gibt Themen zu diesem Thema in diesem Forum. Z.B:
protected global::System.Web.UI.HtmlControls.HtmlGenericControl theDiv;
quelle