是Asp.Net还是Ajax,还是在开发网站时可以同时使用这两种技术?

是Asp.Net还是Ajax,还是在开发网站时可以同时使用这两种技术?,asp.net,ajax,asp.net-ajax,Asp.net,Ajax,Asp.net Ajax,1) 不久前我开始学习Asp.Net,但后来我听说Ajax是“新事物”。由于我不想浪费我在Asp.Net上投入的时间,我想知道在创建网站和web应用程序时使用这两种技术(Asp.Net和Ajax)是否是一种常见/推荐的做法 2) 如果将这两种技术结合使用确实是一种常见做法,那么这是仅适用于服务器端Ajax和Asp.Net,还是客户端Ajax也可以与Asp.Net结合使用 塔克斯 编辑: (A) 唯一的问题是它可能是一个 使用 使用asp.net时的jquery webforms(asp.net)

1) 不久前我开始学习Asp.Net,但后来我听说Ajax是“新事物”。由于我不想浪费我在Asp.Net上投入的时间,我想知道在创建网站和web应用程序时使用这两种技术(Asp.Net和Ajax)是否是一种常见/推荐的做法

2) 如果将这两种技术结合使用确实是一种常见做法,那么这是仅适用于服务器端Ajax和Asp.Net,还是客户端Ajax也可以与Asp.Net结合使用

塔克斯

编辑:

(A)

唯一的问题是它可能是一个 使用 使用asp.net时的jquery webforms(asp.net)mvc是用 考虑到jquery这样的框架,所以 更容易做到)

您是不是在暗示jquery与webforms一起使用可能会太麻烦,因此我应该考虑使用Asp.NETAjax

B) 我对ajax的了解很少,因为它还需要调用web服务或其他一些提供与web服务类似功能的技术。如果为真,您使用哪种技术(WCF或Asp.Net web服务或


C) Ajax是jquery的一个子部分吗?因此,要理解Ajax,我需要只购买一本关于jquery的书,还是还需要阅读一本标题中包含Ajax的书?

您可以同时使用这两种方法,并且两者都可以使用。MS有一个在asp.net网站上使用AJAX的工具包:


两种方法都可以使用,而且两种方法都可以使用。MS有一个在asp.net网站上使用AJAX的工具包:


Ajax是一种可与其他框架(如asp.net)结合使用的方法。Asp.net将允许您集成javascript以实现ajax解决方案。
一种常见的实现是使用javascript调用asp.net Web服务来执行ajax操作。

ajax是一种可以与其他框架(如asp.net)结合使用的方法。Asp.net将允许您集成javascript以实现ajax解决方案。 一个常见的实现是使用javascript调用asp.net Web服务来执行ajax操作。

1)是的,在同一个网站上使用ajax和asp.net是很常见的。我一直都在这么做(事实上,如果你在我的网站上关闭javascript,它们不会像AJAX那样工作得很好)。AJAX允许在不刷新页面的情况下向服务器发出请求—您仍然需要服务器端语言来处理该请求。您还需要第一次加载页面,以便仍然需要asp.net控件。事实上,如果您使用asp.net ajax,那么您可以使用更新面板,将控件放入其中,从而自动启用ajax

2) 我不知道你的意思,但Ajax主要是javascript,因此它位于客户端,并向服务器端发送请求

$.post("test.php", { name: "John", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });
编辑

好的,我浏览了这些章节的大部分内容。AJAX服务器端是在服务器端完成大部分渲染的地方。因此,更新面板是一个ajax服务器端控件。您可以将它拖到webform上,并在其中插入一些其他服务器端控件和一个按钮。如果用户单击更新面板中的按钮,就会向服务器发出ajax请求,您可以获取所需的所有内容,并使用C#进行更改。您永远不必编写一行javascript代码来实现这一点

当然,这是有代价的,例如,由于页面生命周期的原因,更新面板不能执行真正的ajax请求。如果你真的通过调试器来观察代码,你会注意到它将经历页面生命周期,但最后只会重新启动更新面板,所以如果你自己做的话,会有点过头

客户端Ajax基本上是微软的产品,它试图使javascript更像C#语法,并为您提供内置方法,从而使您更容易使用javascript。一个问题是,很多人过于频繁地使用Ajax这个流行词,并调用不应该称为Ajax的东西,而应该称为javascript

客户端ajax似乎就是这样,因为我在客户端ajax一章中看到的大部分内容几乎都是javascript。就像“图33.8.选择一个菜单项”中所说的那样,它看起来只是你点击了一个选择按钮,然后它显示了这个按钮的名称,而这个按钮并不是真正的Ajax

对我来说,Ajax是指在不刷新页面的情况下(即完全发回)发出服务器请求以发布或获取某些信息。例如,如果您获得了要发送到服务器并保存在数据库中的数据格式。如果点击save按钮,表单数据将被发送到服务器而不刷新页面,那么这将是一个Ajax请求

ajax工具包中的大部分内容都是javascript

例如,calendar控件让它选择不同的日期,但它没有向服务器发出任何请求,因为它都是javascript,所以如果它从不向服务器发送消息,为什么会是ajax呢

如果您在文本框中获取日历控件放入日期的值,并将其发布到服务器,而不刷新页面,则这将是一个Ajax请求

最后,我不会太担心asp.net webforms会很快出现在任何地方。我相信写那篇关于asp.net将要染色的文章的人是制作Ajax的人,或者是参与Ajax开发的人,所以他可能有偏见

除此之外,从他发表这篇文章到现在已经5年了,asp.net比以往任何时候都强大。Ajax仍然需要连接到服务器,您仍然需要使用纯html或asp.net服务器控件呈现初始页面加载

编辑2

1) 是的,我认为jquery比MS ajax更好,原因如下:

  • 它使用更少的资源,然后拖放 下拉控件