我有一个简单的形式,有几个问题。我正在验证输入是否在使用此提交表单之前(https://cdnjs.cloudflare.com/ajax/libs/1000Hz-bootstrap-validator/0.11.9/validator.min.js)图书馆。
我的表格就像:
@using (Html.BeginForm("SaveAnswer", "Home", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", id = "answer", role = "form" }))
{ //.... Q1, Q2 ...etc
<!-- Button (Double) -->
<div class="form-group form-submit-button">
<label class="col-md-4 control-label" for="button1id">Please save your response.</label>
<div class="col-md-8">
<button type='submit' id="Save" name="SaveButton" class="btn btn-success">Save</button>
</div>
</div>
}
表单有效,验证(如果填充输入)有效。
数据库有2个条目!
这意味着2个请求提交表单。我真的没有提交2次。
后端控制器是:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SaveAnswer(FormCollection form)
{
var AnswerToAdd = new Answer();
// Deserialize (Include white list!)
TryUpdateModel(AnswerToAdd, new string[] { "Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "id"}, form.ToValueProvider());
DateTime now = DateTime.Now;
AnswerToAdd.LastModifiedTime = now;
db.Answers.Add(AnswerToAdd);
db.SaveChanges();
return RedirectToAction("Index");
}
一周前遇到了这个问题,并尝试了我可以做的一切,但是最后一个修复程序是铬服务器/数据库。
如果您在此问题上找到其他原因,请告诉我们。