我在索引 View 中使用 Ajax.BeginFrom 来测试主 Controller 中的方法
@using (Ajax.BeginForm(actionName: "TestMethod",
controllerName: "Home",
ajaxOptions: new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "TestInfo",
LoadingElementId = "Progress"
}))
{
<input type="submit" value="Search" />
<div id="TestInfo"></div>
}
还有
[HttpPost]
public virtual ActionResult TestMethod()
{
return Content("ok");
}
但是提交后,页面重定向到/Home/TestMethod 并显示 'ok' 。
我已经添加了
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
在 webconfig 中和
<script src="@Links.Scripts.jquery_unobtrusive_ajax_min_js" type="text/javascript"></script>
在我的布局中。但它仍然无法异步工作。 问题出在哪里?
最佳答案
发生这种情况几乎总是因为您的脚本文件未加载,请参阅下面的帖子:
http://completedevelopment.blogspot.com/2011/02/unobstrusive-javascript-in-mvc-3-helps.html
在 web.config 中设置提到的标志:
包含对 jQuery 库 ~/Scripts/jquery-1.4.4.js 的引用
在 ~/Scripts/jquery.unobtrusive-ajax.js 中包含对 Hook 此魔法的库的引用
关于jquery - Ajax.BeginForm 不能异步工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27478765/