我不断听到这句话" 回调 "和" 回发 "左右颠簸.
两个有什么区别?
回发是非常特定的ASP.NET页面?
当页面上的数据(整个页面)从客户端发布到服务器时发生回发.. 数据被发布回服务器,因此页面被刷新(重绘)...想一想作为' 发送服务器整个页面(asp.net)充满数据 '.
另一方面,回调也是一种特殊的回发,但它只是一个快速的往返服务器来获取一小组数据(通常),因此页面不刷新,不像回发......把它想象成" 调用服务器,然后收回一些数据 ".
使用Asp.Net时,调用回调时不会刷新ViewState,这与回发不同.
使用ASP.Net发布整个页面的原因是因为ASP.Net 用post方法将整个页面封装在一起,所以当在页面中单击提交按钮时,表单将被发送到服务器全部形式中的字段......基本上是整个页面本身.
如果您使用的是FireBug(适用于Firefox),您实际上可以看到调用服务器中的回调Console
.这样,您将看到正在向服务器()发送的具体数据Request
以及服务器发送给您的数据(Response
).
下图说明了基于ASP.NET的网站中的回发和回调的页面生命周期:
(来源:esri.com)
当从客户端向服务器发送与用户当前正在查看的页面相同的页面的请求时,会发生回发.发生回发时,将刷新整个页面,您可以在浏览器底部的进度条上看到典型的进度.
当客户端向未刷新页面的服
我同意Dreas的回答,但我想补充几点.回发是一个术语,最近由ASP .NET编程引入,正如Dreas所解释的那样,而回调更通用,并且在Web开发存在之前就已经被使用了.事实上,当我开始用C语言编程时,我第一次听说回调(可能是之前存在的术语,我不知道),它只是指向函数的指针和指向函数的指针(名称为A)传递给另一个函数(名称为B),稍后将调用A.回调最近也被Yahoo UI Connection Manager和其他Ajax框架使用,但我相信该术语在旧的C日中首次使用.