在 ASP.Net MVC 3.0 我使用 Ajax.Beginform
并在我调用 jQuery 函数的表单成功时点击 JsonResult。但由于某种原因,我的表单正在重定向到 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 并将页面重定向到主机/控制器/操作名,我已经包含了我的
<script src="@Url.Content("jquery.unobtrusive-ajax.min.js")"></script>
在我的 layout.cshtml
谁能告诉我可能出了什么问题?
我发现了问题。现在我必须在提交时找到解决方案我正在验证我的表单
$("#myform").validate({
submitHandler: function (form) {
// my logic goes here....
}});
如果我排除验证 Ajax 表单按预期工作。但是,如果我验证我的表单,那么 ajax 表单无法按预期工作谢谢