我在Index视图中使用Ajax.BeginFrom来测试Home 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>
在我的布局中。但它仍然不能异步工作。 问题在哪里?
答案 0 :(得分:6)
当发生这种情况时,几乎总是因为您的脚本文件未加载,请参阅下面的帖子:
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
中加入一个引用这个魔法的库的引用