确认持续存在的子操作的表单重新提交

时间:2016-03-16 07:33:29

标签: asp.net asp.net-mvc

首先,我想确保我已经阅读了几十篇关于SO的帖子,但没有一个代表我的确切问题,没有一个答案可以帮助我摆脱"确认表格重新提交"

使用ASP.NET mvc5,我创建了一个注释表,类,视图(非部分)以及列表和创建的操作。

当用户添加评论时,它会成功添加到表格中,但即使未在评论框中输入任何内容而刷新页面,也会显示确认表单重新提交。如果他点击“继续”,则会再次向数据库添加相同的评论,这是我不想要的。

在要添加评论功能的网页上,我的代码是

@Html.Action("Create", "Comment");

我添加评论的操作方法是

public actionResult Create()
{
    return View();
}

[HttpPost]
public actionResult Create(Comments comments)
{
    //create logic
   return View("Create") // Also tried giving no argument.
}   

地点上的大多数解决方案建议将操作重定向到get方法,但它会出现黄页错误,即子操作无法执行重定向。任何帮助表示赞赏。提前致谢

1 个答案:

答案 0 :(得分:1)

在帖子上使用,

return RedirectToAction("Create"); //instead of return view

这将在发布后重定向到同一视图,并且还会阻止在刷新时重新提交确认表单