不引人注目的ajax表单阻止发布取消按钮

时间:2013-08-13 02:47:03

标签: asp.net-mvc-4 ajax.beginform unobtrusive-ajax

问题:为什么取消按钮发布到控制器如提交?

我从部分视图加载下面的表单。提交工作正常。我唯一一直在努力解决的问题是为什么取消不仅仅是解雇表格。我尝试了各种各样的事情,比如捕获点击事件。我查看了http://jimmylarkin.net/post/2012/05/16/Broken-Validation-on-Cancel-Buttons-With-Unobtrusive-Validation-Ajax.aspx作为可能的解决方案,但我不确定这是它打算解决的问题。毫无疑问,这对我来说是无知的。那么我想念的是什么?

//click event loading the form. 
<script>
    $(document).ready(function () {
        $('#editbtn').click(function () {
            var url = "/Quiz/EditQuiz?id=@id";
            $.get(url, function (data) {
                $('#formdiv').html(data);
                $("#formdiv").show();
            });
        });  
</script>

//form inside partial view. 
    @using (Ajax.BeginForm("EditQuiz", "Quiz", FormMethod.Post,
                        new AjaxOptions
                        {
                            InsertionMode = InsertionMode.Replace,
                            HttpMethod = "POST",
                            UpdateTargetId = "formdiv"
                        }))
{
        @Html.ValidationSummary(true)
        @Html.AntiForgeryToken()
        <div>
            <fieldset>
            .
            .              
            <input type="submit"  class = "btn btn-primary" value="Save" />
            <button  class = "cancel" >Cancel </button>
            </fieldset>
        </div>
  }

1 个答案:

答案 0 :(得分:0)

我很好奇你的取消按钮是什么导致默认提交。尝试用Html帮助器替换<button class="cancel">@Html.ActionLink("Cancel", "Index")怎么样?这是一个包含文字Cancel并重定向到操作Index的链接。