我在Page_Load
编写代码并且我首先使用了IsPostBack
,但之后我遇到了IsAsync
和IsCallback
属性。我开始思考,他们看起来有点相同。从谷歌我发现了一些信息:
IsPostBack
为真,我同意100%。 IsCallBack
为真,那么IsAsync用于什么目的? IsCallBack
:获取一个值,指示页面请求是否是回调的结果。”IsAsync
当进行ASP.net AJAX部分更新时,它是异步回发。但是我还有一些问题:
答案 0 :(得分:8)
IsAsync
与客户端发出的请求类型无关,它用于标识按文档中所述异步处理的页面:
获取一个值,该值指示是否异步处理页面。
您可以在此MSDN杂志文章Asynchronous Pages in ASP.NET 2.0中阅读有关异步页面的更多信息。
IsCallback
用于标识客户端回调,请参阅Implementing Client Callbacks Programmatically Without Postbacks in ASP.NET Web Pages,最后IsPostback
标识提交与页面关联的表单所产生的请求。 IsPostback
本身不能用于标识将从将进行部分呈现的页面完全呈现页面的回发,例如,如果您使用的是UpdatePanel
。
为了识别仅执行部分呈现的回发请求,您需要检查IsPostback
是否为真,ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack
也是如此。
此主题也感兴趣How to: Determine How ASP.NET Web Pages Were Invoked。