IsPostBack,IsAsync和IsCallback有什么区别?

时间:2012-05-22 20:52:27

标签: asp.net httpwebrequest postback asp.net-4.0

我在Page_Load编写代码并且我首先使用了IsPostBack,但之后我遇到了IsAsyncIsCallback属性。我开始思考,他们看起来有点相同。从谷歌我发现了一些信息:

    当页面通过表单方法发布时,
  1. IsPostBack为真,我同意100%
  2. 当从AJAX调用回调页面时,
  3. IsCallBack为真,那么IsAsync用于什么目的?
    from MSDN IsCallBack:获取一个值,指示页面请求是否是回调的结果。”
  4. IsAsync当进行ASP.net AJAX部分更新时,它是异步回发。
  5. 但是我还有一些问题:

    1. 什么是回调以及它与回发有什么不同。
    2. 明确区分IsPostBack,IsAsync和IsCallback。
    3. 目前我正在开发一个WebApp,它可以通过jQuery Ajax执行postBack。所以要识别jQuery Ajax,我应该使用IsPostBack。
    4. 有用的链接:

      Difference between IsCallback and IsPostback

1 个答案:

答案 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