Razor代码中的条件col-md-push-X和col-md-X类(使用MVC)

时间:2016-04-15 18:06:53

标签: jquery asp.net-mvc twitter-bootstrap razor

我有以下列表以分层方式显示条目。如果ParentEntryId为空,则该条目是主条目,否则它是子条目。此外,还有Depth条目的属性。如果Depth = 0,则条目是主条目,如果Depth = 1,则条目是主条目的第一个后代,依此类推。

以下是迭代从数据库中检索的条目记录的代码,并为每个条目记录调用_EntryItemView.cshtml视图。

foreach (var entry in Model.Entries)
{
    if (entry.ParentEntryId == null)
    {         
         @Html.Partial("~/Views/Entry/_EntryItemView.cshtml", entry)
         foreach (var subentry in Model.Entries.Where(e => e.ParentEntryId == entry.EntryId))
         {                                  
              @Html.Partial("~/Views/Entry/_EntryItemView.cshtml", entry)
         }
    }
}

这是_EntryitemView.cshtml:

<div class="col-md-12 small list-group main-entry entry-item-view">
</div>

div的col-md-12类应仅在它是主条目时(Depth = 0)。但是,当深度= 1时,我想要col-md-push-1 col-md-11

<div class="col-md-push-1 col-md-11 small list-group main-entry entry-item-view">
</div>

如果Depth = 2,我想要col-md-push-2 col-md-10,等等。

有没有办法自动化这个?我想知道这是否可以通过Razor实现?或者我需要使用Jquery吗?

1 个答案:

答案 0 :(得分:0)

您可以在_EntryItemView.cshtml

中尝试以下内容
@if(Model.Depth == 0)
{
    <div class="col-md-12 small list-group main-entry entry-item-view">
    </div>
}
else if(Model.Depth == 1)
{
    <div class="col-md-push-1 col-md-11 small list-group main-entry entry-item-view">
    </div>
}
else if(Model.Depth == 2)
{
    <div class="col-md-push-2 col-md-10 small list-group main-entry entry-item-view">
    </div>
}