[ValidateAntiForgeryToken] // 避免CSRF攻擊 public ActionResult UnitEdit(BuyerUnit _unit) { if (_unit == null) { // 沒有輸入內容,就會報錯 - Bad Request return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest)); } if (ModelState.IsValid) // ModelState.IsValid,通過表單驗證(Server-side validation)需搭配 Model底下類別檔的 [驗證] { //_db.Entry(_unit).State = System.Data.Entity.EntityState.Modified; //確認被修改(狀態:Modified) //_db.SaveChanges(); BuyerUnit bu = _db.BuyerUnits.Find(_unit.BuyerUniID); if (bu == null) { // 找不到這一筆記錄 return(HttpNotFound()); } else { bu.BuyerUnitName = _unit.BuyerUnitName; bu.Enable = _unit.Enable; _db.SaveChanges(); // 回寫資料庫(進行修改) } return(RedirectToAction("UnitList")); } else { return(View(_unit)); // 若沒有修改成功,則列出原本畫面 } }
[ValidateAntiForgeryToken] // 避免CSRF攻擊 public ActionResult UnitCreate(BuyerUnit _unit) { if ((_unit != null) && (ModelState.IsValid)) // ModelState.IsValid,通過表單驗證(Server-side validation)需搭配 Model底下類別檔的 [驗證] { _db.BuyerUnits.Add(_unit); _db.SaveChanges(); return(RedirectToAction("UnitList")); } else { // 搭配 ModelState.IsValid,如果驗證沒過,就出現錯誤訊息。 ModelState.AddModelError("Value1", " 自訂錯誤訊息(1) "); // 第一個輸入值是 key,第二個是錯誤訊息(字串) ModelState.AddModelError("Value2", " 自訂錯誤訊息(2) "); return(View()); // 將錯誤訊息,返回並呈現在「新增」的檢視畫面上 } }
public ActionResult UnitEdit(int?_ID) { if (_ID == null || _ID.HasValue == false) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest)); } BuyerUnit bu = _db.BuyerUnits.Find(_ID); // 翻譯成SQL指令的結果,同上(第一種方法) if (bu == null) { // 找不到這一筆記錄 return(HttpNotFound()); } else { return(View(bu)); } }