2016-04-15 18 views
0

我有以下列表以分層方式顯示條目。如果ParentEntryId爲空,那麼該條目是主條目,否則它是子條目。此外,還有Depth條目的屬性。如果Depth = 0,則該條目是主條目,如果Depth = 1,則條目是主條目的第一個後代,等等。Razor代碼中的條件col-md-push-X和col-md-X類(使用MVC)

以下是迭代從數據庫檢索到的條目記錄的代碼,併爲每個條目記錄調用_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> 

col-md-12類在div應該只有當它是一個主入口(具有深度= 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> 

,如果我想的深度= 2有col-md-push-2 col-md-10,等等。

有沒有辦法使它自動化?我想知道這是否可以通過Razor來實現?或者我需要使用JQuery?

+1

一種選擇將是包括CSS類作爲您的視圖模型的一部分,從視圖模型直接在'_EntryItemView'視圖應用CSS類。 –

+0

@BakakNaffas什麼樣的css類?你能否詳細說明一下? – renakre

回答

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> 
} 
+0

有沒有辦法將它自動​​化? – renakre

相關問題