【问题标题】:Show and Tabs in Razor using IF/ELSE使用 IF/ELSE 在 Razor 中显示和选项卡
【发布时间】:2018-08-03 21:18:20
【问题描述】:

我有一些标签:

    <div class="page-tabs">
    <ul class="nav nav-tabs">
        <li class='@(ViewBag.IsAmendment == "0" ? "active" : "")'>
            <a href='@Url.Action("ReviewDetails", "SongsManagement")' title="Original">Original</a>
        </li>
        @if (!Model.OriginalWork.IsNew)
    {
        <li class='@(ViewBag.IsAmendment == "1" ? "active" : "")'>
            <a href='@Url.Action("ReviewDetails", "SongsManagement",new {isAmendment=1} )' title="Amendment">Active Amendment</a>
        </li>
}
    </ul>
</div>

当前显示的是 Original,然后如果在 DB 中更改 IsNew,则显示 Active。有没有办法可以隐藏原始选项卡。然后在有有效修订时将其与原件一起显示?

【问题讨论】:

  • 如果这是在局部视图中编写的并且您正在刷新它,那么在 else 块中添加它会有所帮助。
  • 那么就做一个else 块然后删除第一个选项?
  • 是的,将您的 &lt;li&gt;...Original&lt;/li&gt; 添加到 else 块。
  • 请不要多次问同一个问题。

标签: c# asp.net-mvc razor


【解决方案1】:
<div class="page-tabs">
    <ul class="nav nav-tabs">
    @if (!Model.OriginalWork.IsNew)
    {
        if(ViewBag.IsAmendment == "1")
        {
            <li>
                <a href='@Url.Action("ReviewDetails", "SongsManagement")' title="Original">Original</a>
            </li>
        }
        <li class='@(ViewBag.IsAmendment == "1" ? "active" : "")'>
            <a href='@Url.Action("ReviewDetails", "SongsManagement",new {isAmendment=1} )' title="Amendment">Active Amendment</a>
        </li>
    }
    </ul>
</div>

【讨论】:

  • 那仍然显示原始标签,有没有办法删除它?
  • 实际显示是什么意思?你的意思是渲染,还是激活?
  • 当Model.OriginalWork.IsNew为true时,显示原始标签,否则显示修改标签。
  • 所以当前页面显示了原始标签。我需要隐藏它,并且只有在修正为真时才能显示原始和修正。
  • 数据库中的 isnew 改变是什么意思?更改是指将其设置为 true 还是 false?
猜你喜欢
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
相关资源
最近更新 更多