MVC4互联网项目
我正在使用Ajax.BeginForm进行回传验证,它回发整个页面而不仅仅是UpdateTargetID.我已经查看了SO上的其他帖子,但没有找到答案.我已经构建了一个新的MVC4 Internet项目,仅用于测试(VS 2012已经使用'ASP.NET和Web Tools 2012.2'进行了更新).
这是我的代码
调节器
public ActionResult Index()
{
var vM = _db.Students.FirstOrDefault(); return View(vM);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(Student vM)
{
if (ModelState.IsValid)
{ //code if Model valid
return Json(new { url = Url.Action("About", "Controller") });
}
ModelState.AddModelError(string.Empty, "AJAX Post");
return PartialView("Index", vM);
}
Run Code Online (Sandbox Code Playgroud)
视图
@model AJAX_Test.Models.Student
@{ ViewBag.Title = "Student"; }
<script src="~/Scripts/jquery-1.8.2.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script type="text/javascript"> var onSuccess = function (result)
{
if (result.url) { window.location.href = result.url; }
}
// when server …Run Code Online (Sandbox Code Playgroud)