DisplayFor()
コレクションを反復処理し、コレクション内の各要素を呼び出すビューがあります。
リストの区切りを描画する必要があるかどうかをテンプレートに伝えるために、(コレクションを DisplayFor に渡すのではなく) 手動で繰り返す必要があります。リスト内の項目は 2 種類のみで、順番に並べられているため、このブレークを表示する必要があるのは 1 回だけです。
テンプレートが見つかり、正しく呼び出されました。
正しく生成された HTML を確認できます。
つまりDisplayFor().ToHtmlString()
、この HTML をスコープ変数として設定できます。var html = DisplayFor().ToHtmlString()
Html.Raw(html)
どうしたの?
var renderBreakInList = Model.Items.Any(x => x.IsSomeType);
foreach(var item in Model.Items)
{
var renderBreak = renderBreakInList && item.IsOtherType;
Html.DisplayFor(x => item, new { renderBreak = renderBreak });
if (renderBreak)
{
renderBreakInList = false;
}
}