哪一个更适合在ASP.NET MVC中使用?ASP.NET AJAX与ASP.NET MVC中的jQuery
回答
个人而言,我更喜欢jQuery的,原因如下: -
- 插件社区是更为多样,从广泛的背景(而不仅仅是MS堆栈)吸引开发者。对于MS-AJAX来说,你现在几乎受限于客户端的AJAX控件工具包。
- 我发现jQuery API比MS AJAX提供的更适用的常见客户端任务
- 由于缺乏WebForms MVC中的烟雾和镜像,有时需要对DOM进行严格的控制才能完成某些操作, jQuery提供的CSS选择器引擎确实可以帮助你做到这一点。
就MS AJAX为您提供的MVC内容而言,它可以为您提供“AJAXify”表单和链接的快速方法,但就我而言,添加90kb当jQuery中的等价调用(例如$ .get,$ .post,$(element).load)相对容易使用时,值得使用的javascript来做这件事并不值得。
我想提一下,微软支持JQuery,他们会在即将到来的Visual Studio版本中为它提供支持。欲了解更多信息,请访问http://live.visitmix.com/。 ASP.NET AJAX和jQuery不会重叠太多,所以你想使用两者。
JQuery纯粹是客户端库。 Asp.Net Ajax包含客户端和服务器端功能。恕我直言,比较并不公平。它们可能会与微软的计划相辅相成。
MVC的ASP.NET AJAX有一个变体 - 与AjaxHelper和扩展一起使用。这与jQuery一致。我有两个在同一页面上使用的实例;使用MVC AJAX更新基于点击按钮的DIV,并使用jQuery获取同一页面上不同操作的JSON数据。标准ASP.NET AJAX(UpdatePanels等)应该用在WebForms世界中,而不是MVC中。
个人而言,尽管HtmlHelper支持ASP.NET Ajax,但我发现jQuery ajax与JQuery forms plugin一起是在ASP.NET MVC中执行ajax表单帖子的最好方法。
例如与HTML产品列表页面上一个jquery呼叫针对每个产品允许项目被添加到购物篮形式,的jquery的一行代码可以“ajaxify”的所有页面上的形式
$(".productListItem form").ajaxForm({ target: '#extraInfoSection' });
组合与控制器基类简单的“IsAjaxRequest”属性,检查标头:
Request.Headers["X-Requested-With"] == "XMLHttpRequest"
,并在控制器返回正确的响应类型的一些逻辑:
return IsAjaxRequest ? (ActionResult) View("BasketPartial", basket) : new RedirectBackToReferrerActionResult();
即使在关闭了JavaScript并且没有涉及ASP.NET Ajax的情况下,您也可以使用表单。
这是否适用于服务器端验证? – 2010-08-29 21:04:25
首先,它可能是有用采取记住,ASP.NET MVC不支持,或更好的,不具有回发的概念..
- asp.net AJAX它是基于在后端的服务器端机制上,它的使命是让服务器端模式更容易集成AJAX功能
- jQuery,因为其他框架(如Extjs)实现纯粹的客户端AJAX
它仍然可以在asp.net mvc,asp.net ajax中使用asp.net服务器控件其中之一,但它被认为是分离关注(视图),并尽可能接近REST风格,因此考虑到这一点,最终的想法是:
- 使用ASP.NET Web窗体ASP.NET AJAX这是正确的choiche
- 使用ASP.NET MVC,最好去尝试客户端,因此jQuery的(或其他人)是更好的
对不起,我的英语
将ASP.NET AJAX与Web窗体和带有ASP的jQuery一起使用。NET MVC
这背后的动机是什么? 另外,当开始一个新的项目时,你会选择哪一个,ASP.NET AJAX与Web Forms或带MVC的jQuery? 为什么不用jQuery与Web窗体和页面方法/ Web服务? 我很忙决定是否值得切换到MVC,即使它不是那么广为人知 - 虽然我确实来自Java Struts/JSF背景,所以无论如何MVC范例在我心中。 – jamiebarrow 2010-07-28 08:48:53
而不是作出建议,我建议你阅读戴夫沃德的博客Encosia有MS Ajax /更新面板与jQuery发布机制的一系列职位。戴夫认为,jQuery的性能非常优越,因为它削减了大约100K from the transmission to and from the server。
这些帖子更关注WebForms而不是MVC。在这篇文章中提到的100k保存通常是与UpdatePanel(ViewState Delta等)一起使用的垃圾。在MVC中,沿着线路来回走动的应该大致相同(这只是XmlHttpRequest上方的抽象不同)。 – 2009-04-22 22:12:21
您可能会看到的另一种替代方法是Ajax.NET,http://www.ajaxpro.info/。我认为这比WebForms的ASP.NET AJAX更好。它也可以在MVC下运行。
首先,您可以使用,只要您在谈论Microsoft Ajax时,您只是指客户端库。您可以使用MS Ajax客户端库和大多数没有任何服务器端控件的工具包扩展程序。我已经使用Web窗体构建了一个非常大的应用程序,然后将Microsoft Ajax转换为MVC/jQuery。我发现我在MS Ajax库中使用的功能越来越少。有很多插件可用,它甚至使ajax工具包过时。
如果您在使用更新面板等讨论MS Ajax,那么我会说不,你不能在MVC中使用它们。事实上,根本不要使用它们!更新面板是模拟ajax,页面仍然通过它的lifecylce几乎击败了使用ajax的目的。
- 1. ASP.NET MVC AJAX与jQuery
- 2. ASP.NET MVC 2 AJAX与jQuery的
- 3. jquery ajax asp.net mvc
- 4. ASP.NET MVC jQuery Ajax
- 5. AJAX - ASP.Net MVC或jQuery?
- 6. jQuery的AJAX和asp.net mvc的
- 7. ASP.net MVC,jQuery的块UI,Ajax
- 8. Telerik MVC与ASP.NET MVC与JQuery
- 9. ASP.NET MVC和jQuery - 问题与AJAX编码
- 10. ASP.NET MVC 2 - 与jQuery Ajax响应失败
- 11. ASP.NET MVC中的Ajax
- 12. ASP.Net MVC Recaptcha Jquery Ajax问题
- 13. ASP.NET webforms + ASP.NET Ajax与ASP.NET MVC和Ajax框架自由
- 14. 问题与AJAX,JavaScript,ASP.Net MVC
- 15. MVC与ASP.NET使用Ajax 3.5
- 16. ASP.NET MVC中的Ajax FileUpload&JQuery formData
- 17. MVC中的JQuery和ASP.NET AJAX差异
- 18. 与ASP.NET MVC的jQuery Flexigrid
- 19. 在asp.net mvc jquery AJAX调用mvc
- 20. ASP.NET MVC和Ajax
- 21. Asp.net mvc ajax site.master
- 22. ASP.NET MVC和AJAX
- 23. ASP.Net MVC 3 Ajax
- 24. ASP.NET MVC Ajax
- 25. asp.net mvc ajax
- 26. asp.net mvc ajax
- 27. ASP.NET MVC框架中的Ajax
- 28. ASP.NET中的Ajax表单MVC
- 29. 在asp.net中填充div与ajax mvc
- 30. ASP.Net MVC的路由问题jQuery的AJAX
我不同意查理,JQuery可以对服务器端函数进行回调,就像ASP.NET Ajax使用Javascript来做同样的事情一样。它们都是客户端框架,ASP.NET AJAX对回发代码有更好的封装,而JQuery则提供了更多的控制权。 – emalamisura 2010-03-05 15:55:51