【发布时间】:2019-02-06 12:20:51
【问题描述】:
我正在处理 .cshtml 页面。 我想通过从 Session 变量中获取值来有条件地显示一些 html。 如果我在 cshtml 页面中使用 if else 条件,它可以工作,但我想用三元运算符替换它。
这是工作代码:-
@if (HttpContext.Current.Session["RequestCount"] != null)
{
if (HttpContext.Current.Session["RequestCount"].ToString() != "0")
{
<li class="nav-item"><a class="nav-link ripple" href="@Url.Action("Images", "Admin")"> <i class="icon-bell-ring" style="position:relative"><em>@HttpContext.Current.Session["RequestCount"].ToString() </em></i><span>Images Request</span> </a> </li>
}
else
{
<li class="nav-item"><a class="nav-link ripple" href="@Url.Action("Images", "Admin")"> <i class="icon-bell-ring"></i> <span>Images Request</span> </a> </li>
}
}
尝试使用三元运算符:-
<li class="nav-item"><a class="nav-link ripple" href="@Url.Action("Images","Admin")"> <i class="icon-bell-ring" style="position:relative">@HttpContext.Current.Session["RequestCount"].ToString) != "0" ?<em>@HttpContext.Current.Session["RequestCount"].ToString(): </em></i><span>Images Request</span> </a> </li>
【问题讨论】:
-
首先,您遇到了什么错误?其次,看起来您在三元的一个分支中有一个打开的
<em>标签,而在第二个分支中有一个关闭的标签。尝试更好地格式化该行,它可能会变得很明显为什么它不起作用。此外,括号可能更容易指示三元的结尾应该在哪里。 -
谢谢@Becuzz,错误是它不能有条件地工作,它显示两个html。 prntscr.com/kp3g0j
-
如果会话值 == "0",我想隐藏红色气泡。