Cal*_*ass 6 c# asp.net-mvc jquery asp.net-mvc-3
我有一个ASP.NET MVC 3应用程序,它有一个名为的post post Create:
[HttpPost]
public virtual ActionResult Create(Issues issues)
{
if (ModelState.IsValid)
{
context.Issues.Add(issues);
context.SaveChanges();
return RedirectToAction("Index");
}
return View(issues);
}
Run Code Online (Sandbox Code Playgroud)
如果我错误地双击提交按钮,它将创建2x问题.有没有办法防止这种情况,没有使用javascript和禁用按钮,我认为使用a的全部用途RedirectToAction是通过使用Post/Redirect/Get设计模式来防止这种情况?
轻松解决!
单击时禁用提交按钮.结束.
$('submitButtonId').click(function(){
$(this).prop('disabled', true);
$(this).attr('disabled', 'disabled'); // for jQuery versions < 1.6.
});
Run Code Online (Sandbox Code Playgroud)
您提到的模式(Post/Redirect/Get 设计模式)可防止页面刷新重复发布,因为最后一个操作是 GET,而不是 POST。
如果您想防止双击导致重复发布,您可以:
Run Code Online (Sandbox Code Playgroud)1. Disable the button after click 2. Maintain a unique index on 'Issues' and look for duplicates 3. Maintain something in session that gives you an indication of a double post
也许还有更多方法...我认为禁用该按钮可能是最简单的,因为无论如何您都会重定向到另一个页面。
| 归档时间: |
|
| 查看次数: |
7949 次 |
| 最近记录: |