MVC 用の twitter ブートストラップ nuget パッケージを使用しています。
ただし、コントローラーに投稿してエラーをチェックするときに、モデルに複数のエラーがある場合、TempData に 2 つ目のアラートを追加しようとすると、次のエラーが発生します。
An item with the same key has already been added.
//
// POST: /Customer/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Customer customer)
{
var errors = ModelState.Values.SelectMany(v => v.Errors);
if (ModelState.IsValid)
{
// save to database etc
// redirect to action
}
foreach (var c in errors)
{
TempData.Add(Alerts.ERROR, c.ErrorMessage); // Error is reported here
}
以下に示すように、エラー メッセージは異なります。
Alerts.Error
2 つのエラー メッセージを追加する方法はありTempData
ますか? または、文字列を連結し、エラー メッセージを組み合わせて 1 つのエラーを追加する必要がありますか?
TempData コードを次のように変更した場合:
TempData.Add(Alerts.ERROR, errors.Select(c => c.ErrorMessage).ToArray());
...ビューは次のようにレンダリングされます。
ありがとうございました、
マーク