質問: コントローラへのキャンセル ボタンのポストがサブミットのようになるのはなぜですか?
以下のフォームを部分ビューからロードしました。送信は正常に機能します。私が苦労してきた唯一のことは、キャンセルがフォームを却下しない理由です。クリックイベントをキャプチャするなど、さまざまなことを試しました。可能な解決策として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>
}