题 Page.IsPostBack和Page.IsCallBack有什么区别?


我最近遇到了一些检查代码 Page.IsCallBack 但我不确定它有什么不同 Page.IsPostBack。任何人都可以开导我吗?

编辑:它们是相互排斥的还是在特定情况下可以同时发生?


41
2018-04-17 15:33


起源


鉴于到目前为止的答案,一个更好的问题可能是IsCallback和IsAsync之间的区别是什么? - Echilon


答案:


Page.IsCallBack

它获得一个值,指示页面请求是否是回调的结果。它是一个特殊的回发,因此总是会发生往返;但是,与经典回发不同,脚本回调不会重绘整个页面。 ViewState未更新 在回调期间,它用于回发。

Page.IsPostBack 

检查Page是否第一次访问服务器。与IsCallBack不同,ViewState已更新

参考 页面生命周期 有关详细信息,请参阅说明图表 事件顺序 

编辑 -  回答你的新问题

对于两种请求类型,Page.IsPostback属性都将返回true。仅当请求是客户端回调时,Page.IsCallback属性才会返回true


43
2018-04-17 15:35



我喜欢你的答案,但你能否改写你的第二句话,以便更清洁?谢谢。 - Joe Phillips
链接现在坏了。也许应该是 edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ADF/... ? - Alex Angas


IsPostBack 通过表单方法发布页面时为true

IsCallBack 从AJAX调用回调页面时为true。


30
2018-04-17 15:36





回调是一种特殊的回发,因此总是会发生往返;但是,与经典回发不同,脚本回调不会重绘整个页面。在回调期间不更新ViewState,它用于回发。

更多信息 这里


6
2018-04-17 15:36



在回调中,您是否可以使用响应来返回文件(如csv)以供用户下载? - dannyrosalex


回发是指通过单击提交按钮或通过Javascript(如AutoPostback控件)将表单发回给自身

回调是指AJAX控件在页面上调用方法作为ajax请求的一部分


6
2018-04-17 15:37



你能给出一些可以发出回调的相关控件的例子吗? - Joe Phillips


Page.IsPostBack 检查Page是否第一次访问服务器。与IsCallBack不同,ViewState已更新


0
2018-02-04 15:20