我正在通过邮件向用户提供链接。当他们单击链接“页面打开”并单击“提交”按钮时,将运行Controller Post方法。
saveRecords()
{
-- business logic
-- code validation for checking duplicates
-- saving records
}
一切正常。但是突然发现正在输入重复的记录。代码逻辑没有问题。
在跟踪之后,发现它是在浏览器为Mozilla时发生的。场景是用户两次单击“邮件”链接,因此打开了两个选项卡;如果他在每个选项卡上都单击了“提交”按钮,则将插入重复项。
注意-如果我们点击了同一页面,则提交将正确验证。 当打开两个选项卡并在两个选项卡中单击“提交”按钮并且浏览器是Firefox时,会发生问题。
您能建议我一个解决方案吗?
这是代码摘要:-
var obj = ctx.tblDuty.FirstOrDefault(m => m.Id == recordId);
if (obj.EntryStatus == Status.Approved)
msg = "Duty already Approved.!";
else if (obj.EntryStatus == Status.Rejected)
msg = "Duty already Rejected.!";
var data = service.saveDuty(model, userRole);