这是一个复杂的主题,但是我在这里尝试提炼所有这些东西以及它们之间的关系。
AJAX:这是一个概念,其涉及异步提取数据到一个Web应用程序而无需重新加载整个页面。它允许使用类似于桌面应用程序但在浏览器中运行的动态UI(例如Google Mail)。
ASP.NET AJAX:这是Microsoft编写的一个库,试图使具有ASP.NET背景的开发人员可以访问AJAX概念。它提供了与.NET Framework方法类似的方法,例如String.Format等。它与JQuery有一些重叠,但是由于它们各有优缺点,因此可以同时使用。重要的是要记住,这是一个客户端库,实际上不依赖于ASP.NET。您可以将ASP.NET AJAX与任何服务器端技术一起使用。
jQuery:这是一个JavaScript库,提供了使AJAX应用程序易于编写的框架。它提供了一种强大的选择模型,该模型使用类似于CSS的语法与浏览器DOM进行交互。它还抽象了不同浏览器和版本之间的许多差异。因此,相对于浏览器特定的DOM或AJAX API,您最好总是使用jQuery编码。可用的jQuery插件生态丰富,可以为您的Web应用程序添加各种强大的行为,而无需您做很多工作。
JavaScript:这是所有主要浏览器都实现的一种解释语言,它允许在网站上进行动态的客户端行为。语言本身非常扎实,但是不同浏览器提供的不同API使得有效编写“原始” JavaScript变得复杂。因此,所有这些库都位于其顶部。
现在,关于作为ASP.NET开发人员应该学习什么的问题。我建议您熟悉ASP.NET AJAX和jQuery的功能。Microsoft对此表示赞同,并且两者都包含在VS 2010中。它们具有不同的优点和缺点,如果您了解这些优点和缺点,则可以更有效地使用它们。
您不必使用AJAX来创建ASP.NET网站,但如果这样做,您的网站将变得更强大,更友好。并且,如果您对AJAX何时有效以及何时无效有一种认识,那么您将是一个更好的Web开发人员。
哦,不要靠近UpdatePanels。这是MS对AJAX的第一个答案,但它们通常是不好的,并且与使AJAX变得更好的许多概念背道而驰。它们给您带来短期好处,但就我而言,从长远来看,它们是可维护性的噩梦。