繁体   English   中英

ASP.NET MVC表单提交两次

[英]ASP.NET MVC Form Submitting Twice

我有一个简单的表格,有几个问题。 我正在使用此( 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个请求。 我真的没有两次提交。

后端控制器是:

    [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"); 


    }

一周前遇到此问题,并尝试了我可以做的所有事情,但最后的解决方法是Chrome导致了此问题,当切换回Microsoft Edge时,服务器/数据库上没有重复发布。

如果您在此问题上发现任何其他原因,请告知我们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM