我有以下列表以分层方式显示条目。如果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吗?
答案 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>
}