什么是回发?

我正在进入 Web 开发领域,并且看到了 回复这个词的出现。来自一个非基于网络的背景,一个新的 web 开发者需要知道什么关于 postback 的事情? (例如,它们是什么,什么时候出现的?)

如果您能提供更多的信息来帮助网络新手了解回复,我们将不胜感激。

141478 次浏览

来自 维基百科:

Postback 是由 互动网页,当整个 页及其内容被发送到 处理一些信息的服务器 然后,服务器发布相同的 页面返回到浏览器。

回发是任何导致客户端浏览器页面被推回服务器的操作。

网上有很多信息,搜索一下有没有回信。

大多数情况下,任何 ASP 控件都会导致回发(按钮/链接点击) ,但有些不会,除非你告诉他们(复选框/组合框)

当脚本生成一个 html 表单时,该表单的操作 http POST 返回到相同的表单。

Postback 指的是 HTML 表单。一个 HTML 表单有两个方法: GET 和 POST。这些方法确定数据如何通过表单从客户机发送到服务器。Postback 是回发到提交页面的操作。从本质上说,它形成了一个完整的电路,从客户端,到服务器,再回来。

在给出的定义的基础上,作为 Web 开发人员,您需要知道的最重要的事情是回发之间不保存任何状态。有一些方法可以保留状态,比如 ASP.NET 中的 Session 或 Viewstate 集合,但是根据经验,编写程序时可以在每次回发时重新创建状态。

这可能是桌面编程和网络应用程序编程之间最大的区别,我花了几个月的时间才学会以这种方式本能地写作。

回发本质上是将表单提交到同一页面或脚本(。我不知道。Asp 等) ,因为您目前正在处理数据,而不是将您发送到一个新的页面。

一个例子可以是论坛上的一个页面(viewpage.php) ,你提交一个评论,它被提交到同一个页面(viewpage.php) ,然后你会看到它添加了新的内容。

见: http://en.wikipedia.org/wiki/Postback

Web 开发通常涉及包含表单的 html 页面(<form>标记)。表格发送到网址。您可以将给定的表单设置为发布到任何想要的 URL。回复是当一个表单回发到它自己的 page/url 时。

这个术语对于 ASP.Net WebForms 开发人员有着特殊的意义,因为它是驱动页面许多行为的主要机制ーー特别是“事件处理”。Net WebForms 页面只有一个服务器表单,它几乎总是回发到自己,这些回发会触发服务器上执行一个叫做 Page LifCycle 的东西。

下面是针对初学者的 ASP.Net..。

什么时候?

回发源自客户端浏览器。通常页面上的一个控件会被用户操作(按钮被点击或者下拉菜单被更改等等) ,这个控件会启动一个回发。此控件的状态,以及页面上的所有其他控件(称为视图状态)对于 Web 服务器是 张贴回来

会发生什么?

最常见的情况是,回发会导致 Web 服务器在启动回发的页面类的后面创建代码的实例。然后在正常的页面生命周期内执行这个页面对象,只是稍有不同(见下文)。如果在页面生命周期中没有将用户重定向到另一个页面,那么回发的最终结果将是再次显示给用户的同一个页面,然后可能会发生另一个回发,依此类推。

为什么会这样?

Web 应用程序在 Web 服务器上运行。为了处理用户的响应,导致应用程序状态发生变化,或者移动到不同的页面,您需要在 Web 服务器上执行一些代码。实现这一点的唯一方法是收集用户当前正在处理的所有信息,并将其全部发送回服务器。

初学者要注意的一些事情是..。

  • 在上下文中可以查看发送回页上的控件的状态。这将允许您操作页面控件或根据页面中的信息重定向到另一个页面。
  • Web 窗体上的控件具有事件,因此与任何其他控件一样,也具有事件处理程序。页面生命周期的初始化部分将在导致回发的控件的事件处理程序之前执行。因此,页面的 Init 和 Load 事件处理程序中的代码将在用户单击的按钮的事件处理程序中的代码之前执行。
  • 当页在回发后执行时,“ Page.IsPostBack”属性的值将设置为“ true”,否则设置为“ false”。
  • Ajax 和 MVC 等技术已经改变了回发的工作方式。

回发发生在网页将其数据回发到最初生成网页的脚本/dll/其他脚本的时候。

C # (asp.net)中的示例

...

if (!IsPostback)
// generate form
else
process submitted data;

当与第三方 Web 服务 API 交互时,这个术语也用于 Web 应用程序开发中

许多 API 需要交互式和非交互式集成。通常,交互部分是通过重定向完成的(站点1将用户重定向到站点2,在那里他们登录,并被重定向回去)。非交互部分使用“回发”(postback)或者从站点2的服务器到站点1的服务器的 HTTP POST 来完成。

然而这个问题在上面已经得到了准确的回答,只是想和大家分享一下我的知识。 Postback 基本上是一个属性,我们可以在执行一些需要我们管理页面状态的任务时使用它,也就是说,我们触发了一些事件,比如按钮点击或者刷新了页面。 当我们的页面第一次加载时,也就是说,如果我们刷新了页面,那时 postback-property 是 false,在那之后它变成 true。

if(!ispostback)
{
// do some task here
}
else
{
//do another task here
}

Http://happycodng.blogspot.in/2013/09/concept-of-postback-in.html