jquery - Ajax.BeginForm 不能异步工作

标签 jquery asp.net-mvc asp.net-ajax

我在索引 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 中设置提到的标志:

  1. 包含对 jQuery 库 ~/Scripts/jquery-1.4.4.js 的引用

  2. 在 ~/Scripts/jquery.unobtrusive-ajax.js 中包含对 Hook 此魔法的库的引用

关于jquery - Ajax.BeginForm 不能异步工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27478765/

相关文章:

jquery - 在多个类上使用 .one()

javascript - 有一个脚本在另一个脚本之后触发吗?

c# - Orchard cms路由问题

asp.net - 关于什么以及如何不使用 ASP.NET AJAX 的资源?

.net - asp.net AJAX页面方法非常安全吗?

jquery - 用于搜索所需模态窗口的脚本(通过 Id 按钮)(不起作用)

jQuery:如何将 div 添加到 HTML 文件的末尾?

asp.net-mvc - 将 JSON 对象作为参数传递给 MVC Controller

asp.net-mvc - 哪里是保存用户上传的图像的最佳位置

asp.net-ajax - 程序集 'get_EnableCdn' 中类型 'System.Web.UI.ScriptManager' 中的方法 'System.Web.Extensions' 没有实现