ModelState.IsValid()を使って入力内容の検証を行う際、
どうしてもfalseが返ってきて処理が進まないことがあります。
エラー情報はModelStateのValues配列のErrorsプロパティに格納されているので、
VisualStudioの自動変数を使って1つずつ調べていけば、どこでエラーが発生しているのか発見できる。
でも、入力項目が数十項目あったりすると、いちいち探すのが面倒くさい!!!!!
そんなときは、Linqをつかってエラーメッセージを取得しましょう。
下記1行で、簡単にエラー箇所が判明できます。
var errormsgs = ModelState.SelectMany(x => x.Value.Errors.Select(z => z.ErrorMessage));