我的页面结构
我有 3 个文本框,其中启用了客户端验证。
我有提交按钮来发布表单数据。
问题
当我单击提交按钮时,它将转到我的 Post 方法,假设我没有在文本框中输入值,然后它会从服务器端(Http Post)抛出错误。
现在我将在文本框中输入值然后我将刷新浏览器,它进入 Post 方法而不是 Get !!!
有什么帮助吗??
这是浏览器的默认行为,它在刷新时重新发出最后一个请求,在这种情况下恰好是 POST。
如果您希望防止刷新时重新 POST,您应该在 MVC 中实现 PRG(POST-Redirect-GET)模式。这是接收 POST 的控制器在处理后使用 GET 请求重定向的地方。因此,最后一个浏览器请求是一个 GET,它将在刷新时重新发出。
[HttpPost]
public ActionResult Create(Model model) {
if (ModelState.IsValid) {
//do processing
return RedirectToAction("Details", new { id = model.Id })
}
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3054 次 |
| 最近记录: |