我最近遇到了一些检查 Page.IsCallBack
的代码,但我不确定它与 Page.IsPostBack
有何区别。有人可以给我解释一下吗?
编辑:它们是互相排斥的吗?还是在特定情况下两者都可能发生?
我最近遇到了一些检查 Page.IsCallBack
的代码,但我不确定它与 Page.IsPostBack
有何区别。有人可以给我解释一下吗?
编辑:它们是互相排斥的吗?还是在特定情况下两者都可能发生?
Page.IsCallBack
该属性用于检查页面请求是否是回调的结果。它是一种特殊的回发,因此总是会发生一个回合;然而,与经典的回发不同,脚本回调不会重新绘制整个页面。在回调期间,ViewState 不会被更新,但在回发期间会更新。
Page.IsPostBack
检查页面是否是第一次访问服务器。与 IsCallBack 不同的是,ViewState 会被更新。
有关详细信息,请参阅页面生命周期,其中显示了事件序列的图表。
编辑 - 回答您的新问题
Page.IsPostback 属性将为两种请求类型返回 true。仅当请求是客户端回调时,Page.IsCallback 属性才返回 true。
回调函数是特殊的后台回发,因此总会发生往返; 然而,与经典的后台回发不同,脚本回调不会重新绘制整个页面。 在回调期间,ViewState 不会更新,它是用于后台回发的。
更多信息在这里:
当表单通过单击提交按钮或通过JavaScript(例如AutoPostback控件)返回到自身时,这就是所谓的“postback”。
当 AJAX 控件作为 AJAX 请求的一部分调用页面上的方法时,这就是所谓的“callback”。
Page.IsPostBack检查页面是否第一次访问服务器。与IsCallBack不同,ViewState会被更新。