30
[HttpPost]
public ActionResult Create(Users user)
{
    if (ModelState.IsValid)
    {
        db.Users.Add(user);
        db.SaveChanges();
        return RedirectToAction("Index");  
    }

    return View(user);
}

ModelState.IsValid常にfalseです。
したがって、ビューを返すだけで、新しいレコードは追加されません。

編集

ユーザー:

public class User
{
    public int UserID { get; set; } 
    public string Name { get; set; } 
    [Display(Name = "Confirm Password")] [DataType(DataType.Password)] 
    public string ConfirmPassword { get; set; } 
    public string Designation { get; set; } 
    [Display(Name = "Date of Join")] [DataType(DataType.Date)] public DateTime DOJ { get; set; } 
    public string Email { get; set; } 
    [Display(Name = "Phone Number")] public System.Int64 PhoneNo { get; set; }
}
4

1 に答える 1

99

ModelState.IsValidモデルの検証が失敗した場合はfalseになります。

  1. 着信モデルに失敗したDataAnnotationがあります。
  2. カスタム検証を追加しました。
  3. null以外のプロパティのモデルにnullエントリがないことを確認してください

ModelState.Errorsこれを引き起こしている理由を確認してください。あなたはこれを使うことができます:

var errors = ModelState.Values.SelectMany(v => v.Errors);
于 2012-11-14T06:21:28.243 に答える