使用@ Ajax.ActionLink仍然是使用MVC3获取Ajax数据的推荐方法

时间:2012-01-09 03:21:01

标签: asp.net-mvc-3

我感到困惑。我知道有关jQuery的更改,我注意到在MSDN文档中它声明要使用Ajax.ActionLink我需要以下库:

“支持ASP.NET AJAX的客户端功能在两个脚本库中:MicrosoftAjax.js和MicrosoftMvcAjax.js。这些脚本的发行版本和调试版本位于项目的Scripts文件夹中。在您访问之前客户端脚本中的这些库,必须将库引用添加到当前项目中的MVC视图。“

我认为不再推荐这些库。在哪种情况下我还应该做Ajax.Action链接。

以下是我试图实施的内容:

Ajax delete example

以及上面的代码示例:

        @Ajax.ActionLink("Delete", "Delete", "Widget",
            new {id = item.Id},
            new AjaxOptions {
                HttpMethod = "POST",
                Confirm = "Are you sure you want to delete this widget?",
                OnSuccess = "deleteConfirmation"
            })

1 个答案:

答案 0 :(得分:0)

在ASP.NET MVC 3中,由于Ajax.*脚本,jquery.unobtrusive-ajax.js帮助程序使用不显眼的jQuery。如果您在web.config中启用不显眼的javascript(在创建新应用程序时默认启用),则他们不再使用任何Microsoft*.js帮助程序:

<appSettings>
    ...
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

什么是过时的是Microsoft*.js文件夹中的所有Scripts脚本,以及Ajax.*助手在以前的ASP.NET MVC版本中使用过的脚本。它们仅用于向后兼容,如果您从以前的版本升级。

因此,在ASP.NET MVC 3中,只要您在web.config中启用了不显眼的javascript并包含jquery.unobtrusive-ajax.js脚本,就可以安全地使用Ajax.*帮助程序。