加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC如何防止重新发布

发布时间:2020-12-16 03:34:55 所属栏目:asp.Net 来源:网络整理
导读:使用MVC 4. 当我们的网站上下订单时,订单会发布到: [HttpPost] public ActionResult ConfirmOrder(ABCModel model) { //Do Stuff return View("ConfirmedOrder",model); } 用户将看到“确认”页面. 如果他们在浏览器中按REFRESH,则页面再次POST. 在MVC中是
使用MVC 4.

当我们的网站上下订单时,订单会发布到:

[HttpPost]
    public ActionResult ConfirmOrder(ABCModel model)
    {
        //Do Stuff
        return View("ConfirmedOrder",model);
    }

用户将看到“确认”页面.

如果他们在浏览器中按REFRESH,则页面再次POST.

在MVC中是否有一种方法可以再次阻止POST,可能是在重定向或某种类型?

解决方法

而不是做

返回视图(“ConfirmedOrder”,型号)

将您的确认逻辑分离到控制器中并执行

返回RedirectToAction(“ConfirmOrderActionName”).

在这里,您的ConfirmOrderActionName控制器可以从数据存储中检索订单信息并将其发送到自己的视图或ConfirmedOrder视图.

附:

请注意,RedirectToAction()辅助方法也返回一种ActionResult(就像返回一个View()一样).

如果你有兴趣,请看:

MSDN: Controllers and Action Methods in ASP.NET MVC Applications和MSDN: ActionResult Class

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读