我的网页上有一个div元素,我希望根据其背后的会话值显示/隐藏该元素。我怎样才能做到这一点?
Answers:
给div"runat="server"和一个id,您可以在您的中引用它code behind。
<div runat="server" id="theDiv">
在后面的代码中:
{
theDiv.Visible = false;
}
C#,则runat="server"可以在C#运行位置的CodeBehind中访问它。
runat="server"是否要在C#中执行此操作,因为没有它,您的C#代码隐藏代码将不会“知道”您的<div>元素。
如果您的div已将runat设置为server,则可以肯定地myDiv.Visible = false在Page_PreRender事件中进行了设置。
如果您需要有关使用会话的帮助,请查看msdn,这非常简单。
尝试这个。您的标记:
<div id="MyId" runat="server">some content</div>
..和aspx.cs文件中:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["someSessionVal"].ToString() == "some value")
{
MyId.Visible = true;
}
else
{
MyId.Visible = false;
}
}
if(condition) { prop = true; } else { prop = false; }?有一种更简单的编写方式。
与您一起工作在div部分中应用runat =“ server” ...
<div runat="server" id="hideid">
在您的按钮单击事件上:
protected void btnSubmit_Click(object sender, EventArgs e)
{
hideid.Visible = false;
}
给div“ runat =” server“和一个ID,您可以在后面的代码中引用它。
<div runat="server" id="theDiv">
在后面的代码中:
{
theDiv.Visible = false;
}
在Designer.cs页面中:
protected global::System.Web.UI.HtmlControls.HtmlGenericControl theDiv;
你也可以尝试你的设计
<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
<div style='display: none;' > True</div>
<div >False</div>
<div style='display: none;' >NameExist</div>
<div >NameNotExist</div>
在后面的代码中:
{
yourDiv.Visible = false;
}