public ActionResult Delete(int id)
        {
            Book book = db.Book.Find(id);
            if (book == null)
            {
                //重定向到行动(跳转到index)
                return RedirectToAction("Index");
            }
            else
            {
                return View(book);
            }
        }
        [HttpPost]
        public ActionResult Delete(int id, FormCollection collection)
        {
            Book book = db.Book.Find(id);
            db.Book.Remove(book);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

 

两个删除的方法,第一个没有[HttpPost]标记的Delete方法并不会将数据删除,因为如果通过GET请求而删除(或者追加、修改)删除数据的话都会打开一个安全漏洞。

第二次加载时执行的是第二个方法,这时数据才真正删除,HttpPost目的就是加载时第2次,第3次,第n次执行的方法

还有一个就是[httpGet] 是第一次加载的时候指定调用的

(相当于告诉浏览器我在第一次访问的时候不会进HttpPost标记的方法,在提交表单的时候才会进去)

相关文章:

  • 2021-11-19
  • 2021-12-30
  • 2021-09-04
  • 2021-09-08
  • 2022-12-23
  • 2021-07-15
  • 2021-12-31
  • 2021-08-03
猜你喜欢
  • 2022-12-23
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
相关资源
相似解决方案