以下に追加すると、このコードから出力が得られないのはなぜですか@{ Session.Remove("errors"); }
@if (Session["errors"] != null)
{
<div class="alert alert-danger">
<ul>
@{
String[] errors = (String[])Session["errors"];
}
@foreach (String error in errors)
{
<li>@error</li>
}
</ul>
</div>
}
@if (Session["success"] != null)
{
<div class="alert alert-success">
@Session["success"]
</div>
}
コードは最初に評価されてから出力されますが、それでも意味がありません。私はそれで出力を取得しなければ@{ Session.Remove("errors"); }
、それは非常に面倒です。
現在のリクエストのみ持続する FLASH メッセージを実行しようとしています。
更新しました:
TempData["errors"] = new String[] { "You need to be logged in to access this page." };
意見:
@if (TempData.ContainsKey("errors"))
{
<div class="alert alert-danger">
<ul>
@{
String[] errors = (String[])TempData["errors"];
}
@foreach (String error in errors)
{
<li>@error</li>
}
</ul>
</div>
}
@if (TempData.ContainsKey("success"))
{
<div class="alert alert-success">
@TempData["success"]
</div>
}