這兩天發現一個model binding中的坑,就是action中的參數名不能和屬性重覆,否則綁定不了,參數始終是null, 舉例說明: T_Account類定義如下 在Edit視圖提交時的處理方法定義 註意此時Include中有Account屬性,參數名也叫account, account始終為n ...
這兩天發現一個model binding中的坑,就是action中的參數名不能和屬性重覆,否則綁定不了,參數始終是null,
舉例說明:
T_Account類定義如下
public partial class T_Account { [Key] public int Id { get; set; } [Required] [StringLength(50)] public string Account { get; set; } [StringLength(50)] public string Name { get; set; } public bool IsDeleted { get; set; } }
在Edit視圖提交時的處理方法定義
[HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include = "Id,Account,IsDeleted,Name")] T_Account account) { if (ModelState.IsValid) { db.Entry(account).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(account); }
註意此時Include中有Account屬性,參數名也叫account, account始終為null.
但如果把參數account改個名字,例如t_account,問題就解決了
public ActionResult Edit([Bind(Include = "Id,Account,IsDeleted,Name")] T_Account t_account) {