ASP.Net MVC 3.0 では、Ajax.Beginform を使用しています。
フォームの成功時に JsonResult をヒットし、jQuery 関数を呼び出しています。しかし、何らかの理由でフォームが JsonAction にリダイレクトされています
私の見解
@using (Ajax.BeginForm("ActionName", "Controller", null, new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "ShowResult"
}, new { id = "myform" }))
{
// All form Fields
<input type="submit" value="Continue" class="button standard" />
}
私のコントローラー
public JsonResult ActionName(FormCollection collection)
{
return Json(new { _status },JsonRequestBehavior.AllowGet);
}
jQuery
<script type="text/javascript">
function ShowResult(data) {
// alert("I am at ShowResult");
if (data.isRedirect) {
window.location.href = json.redirectUrl;
}
}
何らかの理由で、送信をクリックすると。JSonResult を実行し、ページを host/controller/actionname にリダイレクトします。
<script src="@Url.Content("jquery.unobtrusive-ajax.min.js")"></script>
私のlayout.cshtmlで
誰が何が間違っているのか教えてもらえますか?
問題が見つかりました。今、送信時に解決策を見つける必要があります。フォームを検証しています
$("#myform").validate({
submitHandler: function (form) {
// my logic goes here....
}});
検証を除外すると、Ajaxフォームは期待どおりに機能します。しかし、フォームを検証すると、ajaxフォームが期待どおりに機能しません ありがとう