现在的位置: 首页 > 综合 > 正文

IsCallBack属性和IsPostBack属性有什么区别?

2012年08月30日 ⁄ 综合 ⁄ 共 1703字 ⁄ 字号 评论关闭

ASP.NET2.0中Page的IsCallBack属性和IsPostBack属性有什么区别?请高手详细解答,最好能用实例讲解一下,我看英文的.NET Framework2.0 SDK实在是没有看懂!
Feedback
#1楼    回复  引用  查看    
2006-04-24 16:53 by James Chen
MSDN里应该写得很清楚了,你只要先了解什么是postback,什么是callback就应该明白其中的不同了。不过正式版的CallbackEventHandler接口定义好象给改了,和beta版的不同。我目前也对callback功能在网页中的集成和实现很迷惑。
以postback方式进行客户端和服务器端的交互的,IsPostBack就是true。
以callback方式进行客户端和服务器端的交互的,IsCallBack就是true。
默认方式是postback。callback方式要写好多javascript代码的。

postback:
In the default model for ASP.NET Web pages, the user interacts with a page and clicks a button or performs some other action that results in a postback. The page and its controls are re-created, the page code runs on the server, and a new version of the page is rendered to the browser.

callback:
In a client callback, a client script function sends a request to an ASP.NET Web page. The Web page runs a modified version of its normal life cycle — the page is initiated and its controls and other members are created, and then a specially marked method is invoked. The method performs the processing that you have coded and then returns a value to the browser that can be read by another client script function. Throughout this process, the page is live in the browser.
#2楼 [楼主]   回复  引用  查看    
2006-04-24 22:06 by 心只有你
@ James Chen

看了你的解答我清楚了很多,是不是IsPostBack为true时,页面有任何变化都需要重新生成,给人刷新的感觉。而IsCallBack为true时,感觉只是客户端脚本在运行,虽然页面有变化,但是没有刷新的感觉。不过写客户端脚本是真的是一件很繁人的事情!!!
你看过Atlas吗?那个框架提供了一大堆的控件来实现Ajax一样的感觉,是不是也用到了Page的IsCallBack?
#3楼    回复  引用  查看    
2006-04-24 22:34 by James Chen
你说的不错。PostBack方式刷新整个页面,CallBack方式不刷新整个页面。但是CallBack不能等同于Ajax,据说两者的实现原理不同。CallBack只能传送string类型的参数,而Ajax使用的是httprequest+xml的机制。Atlas我没看过,但它是实实在在的.NET环境下的Ajax库。没看的原因一是因为苏鹏的Ajax Webcast里还没讲到它,二是没听到它是否正式release了,呵呵。
#4楼    回复  引用  查看    
2006-06-21 20:37 by blueKnight
为什么CallbackEventHandler在FireFox中好像不支持?
#5楼    回复  引用  查看    
2007-01-24 13:27 by 郭平川 [未注册用户]
IsPostBack 判断页而是否第一次加载
CallBack 回调,异步通信

抱歉!评论已关闭.