[英]ASP.NET AJAX vs jQuery in ASP.NET MVC
在ASP.NET MVC中哪一个更好用?
我个人更喜欢jQuery,原因如下: -
就MS AJAX在MVC中为您提供的内容而言,它可以为您提供快速的“AJAXify”表单和链接,但就我而言,我需要添加价值90kb的javascript来实现这一点。当jQuery中的等效调用(例如$ .get,$ .post,$(element).load)相对容易使用时,这并不值得。
就个人而言,尽管HtmlHelper支持ASP.NET Ajax,我发现jQuery ajax与JQuery表单插件一起成为在ASP.NET MVC中执行ajax表单帖子的最佳方式。
例如,在html产品列表页面上使用jquery调用,每个产品的表单允许将项目添加到购物篮中,单行jquery代码可以“ajaxify”页面上的所有表单
$(".productListItem form").ajaxForm({ target: '#extraInfoSection' });
结合检查标头的控制器基类上的简单“IsAjaxRequest”属性:
Request.Headers["X-Requested-With"] == "XMLHttpRequest"
和Controller中的一些逻辑返回正确的响应类型:
return IsAjaxRequest ? (ActionResult) View("BasketPartial", basket) : new RedirectBackToReferrerActionResult();
你有一个表格即使关闭javascript工作,并没有涉及ASP.NET Ajax。
JQuery纯粹是客户端库。 Asp.Net Ajax包括客户端和服务器端功能。 恕我直言,比较并不公平。 他们可能会根据微软的计划相互补充。
ASP.NET AJAX for MVC有一种变体 - 与AjaxHelper和扩展一起使用。 这与jQuery协同工作很好。 我有一个实例,我在同一页面上使用它们; 使用MVC AJAX更新基于DIV的单击按钮并使用jQuery在同一页面上获取不同操作的JSON数据。 标准ASP.NET AJAX(UpdatePanels等)应该在WebForms世界中使用,而不是在MVC中使用。
我想提一下,微软支持JQuery,他们将在即将推出的Visual Studio版本中支持它。 有关更多信息,请访问 http://live.visitmix.com/ 。 ASP.NET AJAX和jQuery没有太多重叠,因此您希望同时使用它们。
首先,记住ASP.NET MVC不支持或者更好的是没有回发概念可能是有用的。
它仍然可以在asp.net mvc中使用asp.net服务器控件,asp.net ajax就是其中之一,但是它被认为是asp.net mvc,它可以分离关注点(视图)并将REST样式设置为关闭尽可能地考虑到这一点,最终的想法是:
对不起我的英语不好
将ASP.NET AJAX与Web窗体一起使用,将jQuery与ASP.NET MVC一起使用
您可能会看到的另一个替代方案是Ajax.NET, http ://www.ajaxpro.info/。 我认为它比ASP.NET AJAX for WebForms更好。 它也可以在MVC下运行。
首先,您可以使用其中之一,只要您在谈论Microsoft Ajax时,您只是指客户端库。 您可以使用MS Ajax客户端库和大多数工具包扩展程序,而无需任何服务器端控件。 我使用Web表单构建了一个非常大的应用程序,然后Microsoft Ajax将其转换为MVC / jquery。 我发现我在MS Ajax库中使用的功能越来越少。 有很多可用的插件,它甚至使ajax工具包过时。
如果你正在谈论使用更新面板等的MS Ajax,那么我会说不,你不能在MVC中使用它们。 事实上,根本不要使用它们! 更新面板是模拟ajax,页面仍然经历其生命周期几乎击败了使用ajax的目的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.