ASP.NET MVC 中的 jQuery 与 MicrosoftAjax

Posted

技术标签:

【中文标题】ASP.NET MVC 中的 jQuery 与 MicrosoftAjax【英文标题】:jQuery vs MicrosoftAjax in ASP.NET MVC 【发布时间】:2010-10-04 07:32:15 【问题描述】:

在什么情况下你会在 ASP.NET MVC 应用程序中使用 MicrosoftAjax 而不是 jQuery?

根据此播客中的 Scott Cate Object Oriented AJAX with Scott Cate,MicrosoftAjax 非常适合向服务器发送和检索数据。一旦数据到达客户端,jQuery 非常适合通过 DOM 操作数据。然而,通过一个简单的 jQuery 表单插件,您可以非常轻松地使用 jQuery 发送和检索数据。通常只有一行代码。

所以我想知道 ASP.NET MVC 中的 MicrosoftAjax 和 jQuery 有什么区别?

【问题讨论】:

【参考方案1】:

使用 jQuery - 甚至 Microsoft 也看到了他们的方式的错误。下一版本的 Visual Studio 将包括 jQuery 并通过智能感知支持它。关于简单插件,您也是完全正确的。 MS Ajax 虽然最初有时更易于使用,但速度缓慢且臃肿。

【讨论】:

MVC 模板是,Visual Studio 没有。 我想随着这篇文章已经过时,编辑它以指定 Visual Studio 的版本会很好。【参考方案2】:

我尝试过或多或少地同时使用。

内置的 ajax 助手工作正常。

但是jquery占用空间更小,使用起来更透明。

当使用 ajax 助手时,我得到了立竿见影的结果,但不知道幕后发生了什么

此外,如果您必须过渡到 jquery 以扩展您的 ajax 场景,您不妨从那里开始。

【讨论】:

【参考方案3】:

jQuery 重量更轻,更容易集成到标准的 javascript 函数中,并且拥有强大的社区支持。 MS Ajax 很重,但我怀疑他们正在重写所有 AJAX。

【讨论】:

【参考方案4】:

请务必使用 jQuery.ajax 函数而不是 jQuery.get - 它更冗长,但对于错误处理至关重要。

不要仅仅因为jQuery.get() 更容易而忽略错误处理代码。它可能适用于您的测试,但您需要对它不起作用的许多情况进行某种错误处理。

我真的不知道为什么 get 没有错误处理,但这里引用 jQuery 文档中的 get :

这是一个简单的发送简单的方法 GET 请求到服务器而无需 使用更复杂的 $.ajax 功能。它允许单个回调 要指定的函数 请求完成时执行 (并且仅当响应具有 成功的响应代码)。如果你需要 错误和成功 回调,你可能想使用 $.ajax。

【讨论】:

以上是关于ASP.NET MVC 中的 jQuery 与 MicrosoftAjax的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC jQuery 自动完成与页面中包含的脚本中的 url.action 助手

asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发2-Model层建立

jQuery Grid With ASP.Net MVC

带AJAX和Jquery的asp.net MVC中的实时搜索数据

用于 jQuery Mobile 控件的 Asp.Net MVC Razor 标记

ASP.Net MVC:具有动态列的 Jquery 数据表与 JSON 绑定