asp.net-mvc – MVC 4 Ajax.beginform提交 – 导致完全回发
|
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);
}
视图 @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 returns JSON object containing an url property redirect the browser </script>
<h1>@ViewBag.Title</h1>
<div id="IDXForm">
@using (Ajax.BeginForm("Index",new AjaxOptions() { UpdateTargetId = "IDXForm",OnSuccess = "onSuccess",HttpMethod = "Post" }))
{
@Html.AntiForgeryToken() @Html.ValidationSummary(true)
<span>@Html.EditorFor(m => m.FirstName) @Model.EnrollmentDate.ToShortDateString()</span> <input type="submit" value="Submit" />
}
</div>
初步观点是: 提交后: 提交后正文的源代码: <div id="body">
<section class="content-wrapper main-content clear-fix">
<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 returns JSON object containing an url property redirect the browser </script>
<h1>Student</h1>
<div id="IDXForm">
<form action="/" data-ajax="true" data-ajax-method="Post" data-ajax-mode="replace" data-ajax-success="onSuccess" data-ajax-update="#IDXForm" id="form0" method="post"><input name="__RequestVerificationToken" type="hidden" value="vkCszJu-fKT6zUr5ys2StOTPF6a9pZdj5k1MyaAZKo8MPweS53dUuni0C9B17NjL_GVydHa7-jI1H0F9HrYEdKxeCWq9mCeER3ebaZYLxIs1" /><span><input class="text-box single-line" id="FirstName" name="FirstName" type="text" value="Carson" /> 9/1/2005</span> <input type="submit" value="Submit" />
</form></div>
任何人都可以看到我的代码有什么问题吗? 谢谢. 解决方法我想到的一些可能导致此行为的事情:>在您的问题中,您已经显示了您的捆绑注册,但实际上是否已将它们包含在您的视图或布局中?确保在您的视图或布局中首先包含jquery.js,然后是jquery.unobtrusive-ajax.js(按此顺序): @Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
> jquery.unobtrusive-ajax.js脚本与jquery 1.9及更高版本不兼容,因为它依赖于.live()已经是 在所有情况下,使用javascript调试工具来查看到底发生了什么.如果您使用的是Firefox,那么您可以使用FireBug.如果您使用的是谷歌浏览器,则可以使用Chrome开发者工具栏.查看控制台,了解您可能遇到的潜在JavaScript错误.查看网络选项卡以查看是否已成功加载所有javascripts,并且您没有404错误.了解如何使用工具调试JavaScript代码.您会惊讶地发现有关这些工具将为您提供的代码可能存在的潜在问题的信息. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-web-api – WebAPI 2.2不支持substringof函数
- asp.net – Visual Studio 2012 – 哪里有ASPX设计和拆分视
- asp.net-mvc-3 – asp.net mvc3请求线程亲和
- asp.net-mvc-4 – Resharper无法解析主页中的部分视图
- asp.net – 为什么Scott Guthrie建议我们在Error.aspx中使用
- 如何将成员资格表与实体框架集成? Asp.net
- asp.net-mvc – EditorFor的Html(5)属性
- asp.net-mvc – 子文件夹中的控制器
- asp.net – 在.NET 4.5 Azure部署中找不到编译器可执行文件
- asp.net-mvc – 在ASP.NET MVC3 Razor的渲染时间视图中获取
- asp.net – 防止意外双击按钮
- asp.net-mvc – 输出在剃刀通过变量?
- asp.net-mvc – SquishIt vs. MVC 4.0 Bundler
- asp.net-mvc – 如何在远程验证中使用多个Additi
- 什么是ASP.NET WebForms相当于ASP.NET MVC的View
- asp.net-mvc – 数据模型需要两个属性之一
- asp.net-mvc – mvc.net如何在迭代列表时使用强类
- 休息 – ASP.NET Web Api路由自定义
- 使用HtmlAnchor或ASP.NET HyperLink作为导航页内
- asp.net-mvc – 在MVC3中,我应该有独立的“编辑”
