2017-07-10 13 views
0

私はリスト項目にオフセットを追加する必要がありますが、これを行う可能性のあるプロパティは見当たりません(非推奨のマーカーオフセットを除く)。私の場合は、リストを再帰的に構築するメソッドがあり、新しいリストごとにオフセットを追加する必要があります。リスト項目にオフセットを追加する方法は?

私はかみそりのビューを使用するので、私はリストをwithingと呼ばれる方法があります。

<ul> 
    @showMenu(Model, string offset) 
</ul> 
@helper showMenu(List<MyViewModel> model){ 
foreach(var category in Model){ 
if(category.idParentCategory==0){ 
    continues; //break point 
} 
<li> 
    @if(category.childCategories.Count()!=0){ 
    <ul> 
     @showMenu(Model, offset) //offset to be changed for next iteration 
    </ul> 
</li> 

をそして、ここに私のviewmodelです:

public class CategoryModel 
{ 
    public long idCategory { get; set; } 
    public string name { get; set; } 
    public string path{ get; set; } 
    public int idParentCategory { get; set; } 
    public int order { get; set; } 
    public List<CategoryModel> childCategories { get; set; } 
    public List<DocumentModel> childDocuments { get; set; } 
} 

すべてのカテゴリがchildCategories/childDocumentsがあります。ここにDocumentModelがあります:

public class DocumentModel 
{ 
    public long idDocument { get; set; } 
    public long idCategory { get; set; } 
    public string docName { get; set; } 
    public string link { get; set; } 
    public string type { get; set; } 
} 

ありがとう!

+1

http://stackoverflow.com/help/on([「どのようなトピック私はおよそここに求めることができますか?」]という名前の、特にセクション、ヘルプページを読むためにいくつかの時間がかかるしてください-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 – Chris

+0

jsfiddleやsmthのようなコード例を提供できますか? PS。 itemに 'padding-left:2px;'を簡単に追加することができます。 – ulou

+0

例がないと申し訳ありませんが、ここではあまりにも多くのパラメータが入力されていて、その質問はかなり単純です。 –

答えて

3

再帰的なリストでは、リストをネストするだけです。

padding-leftliに使用してマーカーとリスト項目の間にスペーシングを追加するには、

マーカーとページの端の間にスペーシングを追加するには、margin-leftからulまでを使用します。

ul.class1 { 
 
    background-color: yellow; 
 
    margin-left: 15px; 
 
} 
 

 
.class1 li { 
 
    background-color: red; 
 
    padding-left: 20px; 
 
} 
 

 
ul.class2 { 
 
background-color:green; 
 
    margin-left: 10px; 
 
} 
 

 
.class2 li { 
 
    background-color: blue; 
 
    padding-left: 0px; 
 
}
<ul class="class1"> 
 
    <li> One item </li> 
 
    <li> Two item </li> 
 
    <li> Three item 
 
    <ul class="class2"> 
 
     <li> Three sub item 1 </li> 
 
     <li> Three sub item 2 </li> 
 
    </ul> 
 
    </li> 
 
    <li> Four item </li> 
 
</ul>

関連する問題