0

我有一个链接到 ViewModel 的视图,并且我动态设置了一个多选项卡导航。一切都很好但是当Category Id 是一个从处于活动状态的第一个选项卡开始时,我无法成功编写if 条件。

    <ul class="nav nav-tabs" data-tabs="tabs">
    @foreach (var item in Model.LesCategories)
{ 
        <li><a href="#tabs-@item.Id" data-toggle="tab">@item.Nom</a> </li>
}
</ul>
<div id="my-tab-content" class="tab-content">
    @foreach (var item in Model.LesCategories)
    {

        <div id="tabs-@item.Id" class=" tab-pane">
            <table>
                @foreach (var plat in Model.LesPlats)
                {
                    if (plat.Category.Id == item.Id)
                    { 
                    <tr>
                        <td>
                            @Html.DisplayFor(platItem => plat.Nom)
                        </td>
                        <td>
                            <div class="btn-group">
                                <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Action <span class="caret">
                                </span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="/Plat/Edit/@item.Nom">Modifier</a></li>
                                    <li><a href="/Plat/Details/@item.Nom">Détails</a></li>
                                    <li><a href="/Plat/Delete/@item.Nom">Supprimer</a></li>
                                </ul>
                            </div>
                        </td>
                    </tr>
            }

        }
            </table>
        </div>
        <p>
        </p>
}

</div>
4

2 回答 2

0

我修改了我的代码,可能我的剃须刀代码可以改进但它可以工作

@{
    var tabActive = "";
<div id="my-tab-content" class="tab-content">
    @foreach (var item in Model.LesCategories)
    {

        if (item.Id == 1)
        {
            tabActive = "active"; 
        }
        else
        {
            tabActive = ""; 
        }


      <div id="tabs-@item.Id" class=" tab-pane @tabActive">
            <table>
                @foreach (var plat in Model.LesPlats)
                {
                    if (plat.Category.Id == item.Id)
                    { 
                    <tr>
                        <td>
                            @Html.DisplayFor(platItem => plat.Nom)
                        </td>
                        <td>
                            <div class="btn-group">
                                <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Action <span class="caret">
                                </span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="/Plat/Edit/@item.Nom">Modifier</a></li>
                                    <li><a href="/Plat/Details/@item.Nom">Détails</a></li>
                                    <li><a href="/Plat/Delete/@item.Nom">Supprimer</a></li>
                                </ul>
                            </div>
                        </td>
                    </tr>
                    }

                }
            </table>
        </div>
        <p>
        </p>
        }

</div>
    }
于 2013-06-26T20:58:33.003 回答
0

我正在回答我自己的问题:这只是 Razor 理解基本问题:

<ul class="nav nav-tabs" data-tabs="tabs">

    @foreach (var item in Model.LesCategories)
{ 
        <li class="@(item.Id == 1 ? "active" : "")"><a  href="#tabs-@item.Id" data-toggle="tab" >@item.Nom</a> </li>
}
</ul>

它正确地选择了选项卡,但不显示选项卡内容..... :)

于 2013-06-26T20:25:19.047 回答