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层建立
带AJAX和Jquery的asp.net MVC中的实时搜索数据