[ValidateAntiForgeryToken] // 避免CSRF攻擊 public ActionResult CategoryEdit(BuyCategory _Category) { if (_Category == 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(); BuyCategory bc = _db.BuyCategorys.Find(_Category.BuyCategoryID); if (bc == null) { // 找不到這一筆記錄 return(HttpNotFound()); } else { bc.BuyCategoryName = _Category.BuyCategoryName; bc.Enable = _Category.Enable; _db.SaveChanges(); // 回寫資料庫(進行修改) } return(RedirectToAction("CategoryList")); } else { return(View(_Category)); // 若沒有修改成功,則列出原本畫面 } }
[ValidateAntiForgeryToken] // 避免CSRF攻擊 public ActionResult CategoryCreate(BuyCategory _Category) { if ((_Category != null) && (ModelState.IsValid)) // ModelState.IsValid,通過表單驗證(Server-side validation)需搭配 Model底下類別檔的 [驗證] { _db.BuyCategorys.Add(_Category); _db.SaveChanges(); return(RedirectToAction("CategoryList")); } else { // 搭配 ModelState.IsValid,如果驗證沒過,就出現錯誤訊息。 ModelState.AddModelError("Value1", " 自訂錯誤訊息(1) "); // 第一個輸入值是 key,第二個是錯誤訊息(字串) ModelState.AddModelError("Value2", " 自訂錯誤訊息(2) "); return(View()); // 將錯誤訊息,返回並呈現在「新增」的檢視畫面上 } }
public ActionResult CategoryEdit(int?_ID) { if (_ID == null || _ID.HasValue == false) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest)); } BuyCategory bc = _db.BuyCategorys.Find(_ID); // 翻譯成SQL指令的結果,同上(第一種方法) if (bc == null) { // 找不到這一筆記錄 return(HttpNotFound()); } else { return(View(bc)); } }