構造体の設定は次のとおりです。 子ドキュメント(DocType)を保持する多くのサービス(DocType)があります。 ドキュメントDocTypeは、その子として他のDocument要素を持つことができます。編集者は、木のようなものを作成するためテンプレートのツリービュー生成のために子を再帰的に取得する
この方法で、それは可能です: サービス>ドキュメント>ドキュメント>ドキュメント>ドキュメント
これがために行くことができるレベルの量には制限はありません。
私は各Documentとその子孫を再帰的にループする方法を見つけようとしていますが、それらは互いに入れ子にする必要があります。これは私が困っているところです。
私はコンテンツを生成するために子どもごとの各レベルを再帰的にループする簡単な方法を見つけることはできません。ここで
は、私がこれまで持っているものです。
@{ var selection = Model.Children.Where("Visible");
if (selection.Any()) {
<ul>
@foreach (var item in selection) {
<li>
<div class="ServiceDocCenterDocumentation">
<h4><a href="#" id="[email protected]" class="DocCenterDocumentationTitle">@item.Name</a></h4>
<div class="DocCenterDocumentationDescription">@item.GetPropertyValue("bodyText")</div>
</div>
<div>
@foreach (var children in item.Descendants()){
@* This is the part I'm struggling with for the last few days *@
var actualChildren = children;
<h5><a href="#" id="[email protected]" class="DocCenterDocumentationTitle">@children.Name</a></h5>
<div class="DocCenterDocumentationDescription">@children.GetPropertyValue("bodyText")</div>
}
</div>
</li>
}
</ul>
}
}
は、ここで私は(ない手動で、再帰的に)を達成したいものだ。
<div class="myService">
<div class="Documents">
<div class="[email protected]">
@elem.bodyText
foreach (var child in elem.Children){
<div class="[email protected]">
@child.bodyText
foreach (var grandchild in child.Children){
@* It goes on and on for the amount of levels available *@
}
</div>
}
</div>
</div>
</div>
私はカミソリでまだ非常に流暢ではありませんよ、私が達成したいものを達成する方法があるかどうかは疑問です。
私はより良い答えを求めることができませんでした。私はヘルパーを調べるつもりです。それは私のプロジェクト全体を最適化するはずです。私は 'section'要素の機能(と他のHTML5構造要素)についても見ていきます。この回答に23時間で気づく100の報奨金があります(それを割り当てることができるときはいつでも)。ありがとうございました ! –
お手伝いします:) –