【问题标题】:What is the difference between postback, autopostback and callback?回发、自动回发和回调有什么区别?
【发布时间】:2010-08-27 06:37:08
【问题描述】:

你能定义autopostback和postback吗?它们的区别和哪些web服务器控件支持autopostback和postback以及postback和callback之间的区别?

【问题讨论】:

    标签: asp.net


    【解决方案1】:
    • postback:页面向自身执行 POST 请求
    • autopostback:自动回发,例如当下拉列表的选定值发生变化时
    • 回调:当某个事件发生时调用的方法,例如点击一个按钮。它还可能具有另一种含义,即页面执行返回服务器的请求(例如 AJAX 请求)。

    【讨论】:

    • +1 - 但 callback(即 Page.IsCallback)不只是用来区分普通回发和 ajax 请求吗?
    • @M4N,好点,根据上下文,它可能意味着页面执行对服务器的请求。我已经更新了我的答案以考虑到这一点。
    • 回发也会发生同样的事情,而回发发生在用户在浏览器上触发任何事件时...我对您的回答不满意。
    【解决方案2】:

    回发由浏览器发起,并重新加载整个页面,通常是在页面上的控件(例如按钮)发生更改时。

    对于某些控件(例如复选框),您可以选择更改控件是否会导致回发。此属性称为 AutoPostback。

    回调由页面中的 java 脚本发起,可以加载/更新页面的某些部分,例如通过操作 DOM。

    【讨论】:

    • 但我们也可以在页面回发时上传和更改页面
    【解决方案3】:

    支持 AutoPostback 的控件包括:

    • 列表项
    • 列表控件
    • 项目符号列表
    • 复选框列表
    • 下拉列表
    • 列表框
    • 单选按钮列表
    • 复选框
    • 文本框

    【讨论】:

      【解决方案4】:
      • 回发在数据发送到服务器时发生(他的页面向自身执行 POST 请求)
      • IsPostBack 帮助您确定是否发生回发
      • Autopostback如果此控件属性为真,则有助于您在控件上的数据更改或发生某些事件时立即发布
      • callback 是一种特殊的回发,所以总是会发生往返;但是,与经典回发不同,脚本回调不会重绘整个页面。 ViewState 在回调期间不会更新,它是用于回发。

      【讨论】:

        猜你喜欢
        • 2011-03-02
        • 2010-09-26
        • 2012-06-20
        • 1970-01-01
        • 1970-01-01
        • 2011-01-05
        • 2011-12-24
        • 2011-12-04
        相关资源
        最近更新 更多