2
我在我的部分视图中有一个表单,通过调用ajax来提交。但问题是表单提交多个表格。我发现很奇怪的原因,我不知道如何解决它。表单提交多次asp.net mvc
在主视图中,
@Html.Partial("_Jobs", Model.UserJobs)
@section Scripts {
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
}
我在我的局部视图我有一个表格
<script>
function onSuccess() {
$.fancybox.close();
console.log("success");
return false;
}
function onFailure() {
alert("fail");
}
</script>
@using (Ajax.BeginForm("CreateJob", "Jobs", null,
new AjaxOptions()
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
OnSuccess = "onSuccess",
OnFailure = "onFailure",
UpdateTargetId = "userJobsList"
}, null))
{
@Html.ValidationSummary()
<div class="col-right">
@Html.DropDownListFor(model => model.SelectedProjectId, Model.ProjectList, "Select an Option", new { @class = "text-box", id = "projects" })
@Html.TextBoxFor(model => model.Title, new { @class = "text-box", placeholder = "Job Title" })
<br />
@Html.TextAreaFor(model => model.Description, new { @class = "text-box", placeholder = "Description" })
<div class="col-right-1">
<button id="createButton">
Create
</button>
<button id="cancelButton">
Cancel
</button>
</div>
</div>
</div>
}
通过给“jqueryval”的在主视图中的参考不验证在局部视图,但形式表单以正常方式提交(即单一时间)
为了验证表单我然后从主视图中删除引用'jquery val并在表单之后放入部分视图中,由makin g这些小改动形式在提交前开始验证,但毕竟验证通过表单提交多次。任何机构都可以帮助我找出为什么它会多次提交。什么是最好的地方把'jqueryval'作为参考?
不,我的页面上没有多个jquery.unobtrusive-ajax.js引用。由于我在部分视图中呈现此脚本,所以我可以说每次部分视图呈现此脚本时再次加载。可能会导致这个问题。但是,当我从部分视图中删除脚本并放入主视图时,表单不再执行验证。任何建议,我需要做什么解决这个问题?谢谢 – user2866746
好评!!!!!为我工作很好! – Funky
这对我来说也很好。 – cyclical