PartialView に含まれる単純なフォームを持つ MVC 3 プロジェクトがあります: (フォームは、<div id="form"> </div>
このパーシャルを読み込んでいるビューの " " にあります
@using (Ajax.BeginForm("Submit", "Form", new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "form"
}))
{ .... }
私のコントローラーは:
[HttpPost]
public PartialViewResult Submit(FormElement form)
{
....
return PartialView("_RequestFormSubmitted");
}
私が抱えている問題は、フォームを送信すると、現在のページにとどまるのではなく、ビュー結果の URL (/Form/Submit/) にリダイレクトされ、部分ビューが返されることです。
非常に明白な何かが欠けていますか?スクリプト参照が欠落している可能性がありますか?
ページの最後に次のスクリプトを含めます。
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
編集:
私のフォームは、HTML で次のようにレンダリングされるようになりました
<form action="/Form/Submit" data-ajax="true" data-ajax-method="Post" data-ajax-mode="replace" data-ajax-update="#form" id="form0" method="post"> <hgroup>
<h6 class="icon"><img src="/Content/img/icon/dining.png"> YOUR<br>DINING<br>REQUEST</h6>
</hgroup>
<ul>
<li class="field type-select">
<label for="Name">Your name</label>
<input class="text-box single-line" data-val="true" data-val-required="The Your name field is required." id="Name" name="Name" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>
</li>
<li>
<input type="submit" value="Submit">
</li>
</ul>