2

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

我从局部视图加载了下面的表单。提交工作正常。我一直在努力解决的唯一问题是为什么 Cancel 不只是关闭表单。我尝试了很多方法,比如捕获点击事件。我查看了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>
  }
4

1 回答 1

0

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

于 2013-08-13T03:31:59.920 回答