次のような Page.cshtml があります (これは機能しません)。
@{
Layout = "../Shared/Layouts/_Layout.cshtml";
var mycollection = (ViewBag.TheCollection as IQueryable<MyCollectionType>);
}
<h2>@ViewBag.Title</h2>
content here
@if (mycollection != null && mycollection.Count() > 0)
{
@section ContentRight
{
<h2>
Stuff
</h2>
<ul class="stuff">
@foreach (MyCollectionType item in mycollection )
{
<li class="stuff-item">@item.Name</li>
}
</ul>
}
}
私が言ったように、これはうまくいきません。コレクションに何もない場合は、セクションを定義したくありません。このようなものを機能させる方法はありますか?そうでない場合、他にどのような選択肢がありますか? 私はこの Razor ViewEngine を初めて使用します。
編集
私のレイアウトには次のものがあります:
@if(IsSectionDefined("ContentRight"))
{
<div class="right">
RenderSection("ContentRight")
</div>
}
私が望まないのは、セクションが空のときに出力する div です。