Razor を使用する ASP.NET MVC アプリに取り組んでいます。HTML の一部は、ループを介してレンダリングされます。開始/終了要素を条件付きで作成する必要があります。何らかの理由で、次のことを試みると、ビュー レンダラーがランタイム エラーをスローします。
<div id="content">
<div id="banner">@ViewBag.BannerText</div></br>
<div id="group">
@{
int currentID = 0;
foreach (Item item in ViewBag.Items) {
if (currentID != item.ID) {
<div>
<h3>@item.GetItemTitle()</h3>
<div>@item.Name</div>
}
if (currentID != item.ID) {
@Html.Raw("</div>");
currentID = item.ID;
}
}
</div>
</div>
私にはすべてが正しいように見えます。しかし、なぜそれが機能しないのかわかりません。@Html.Raw("") を持っているたびに失敗するようです。ただし、条件付き if ステートメントと @Html.Raw(""); を削除すると、それは正常に動作します。