什么是回发?

时间:2008-10-08 15:01:21

标签: postback

我正在进入网络开发,并且已经看到了 回发 这个词。来自非基于Web的背景,新的Web开发人员对回发有什么了解? (即它们是什么以及它们何时出现?)

您希望分享的任何其他信息,以帮助网络世界的新手了解回发,将非常感谢。

11 个答案:

答案 0 :(得分:168)

以下针对ASP.Net的初学者......

什么时候发生?

回发源自客户端浏览器。通常,页面上的一个控件将由用户操作(单击一个按钮或更改下拉列表等),此控件将启动回发。此控件的状态以及页面上的所有其他控件(称为“查看状态”)已回发到Web服务器。

会发生什么?

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

为什么会这样?

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

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

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

答案 1 :(得分:27)

来自wikipedia

  

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

答案 2 :(得分:21)

当网页将其数据发回到相同的脚本/ dll /首先生成该页面的任何内容时,就会发生回发。

C#(asp.net)中的示例

...

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

答案 3 :(得分:20)

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

这可能是桌面应用程序编程和基于Web的应用程序编程之间的最大区别,并花了几个月的时间来学习我本能地用这种方式写作的地方。

答案 4 :(得分:10)

Web开发通常涉及包含表单(<form>标签)的html页面。表单发布到URL。您可以将给定的表单设置为发布到您想要的任何网址。 回发是指表单发回其自己的页面/网址。

该术语对于 ASP.Net 开发人员具有特殊意义,因为它是驱动页面大量行为的主要机制 - 特别是“事件处理”。 ASP.Net页面只有一种服务器形式,几乎总是回发给自己,这些后期触发器在服务器上触发执行称为页面生命周期的东西。

答案 5 :(得分:6)

在与第三方Web服务API交互时,该术语也用于Web应用程序开发

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

答案 6 :(得分:5)

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

答案 7 :(得分:4)

回发本质上是指将表单提交到您当前正在处理的相同页面或脚本(.php .asp等)而不是将您发送到新页面。

示例可以是论坛上的页面(viewpage.php),您可以在其中提交评论并将其提交到同一页面(viewpage.php),然后您可以在添加新内容时看到它。

请参阅:http://en.wikipedia.org/wiki/Postback

答案 8 :(得分:3)

回发是导致客户端Web浏览器中的页面被推回服务器的任何内容。

那里有很多信息,搜索谷歌搜索回复。

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

答案 9 :(得分:3)

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

答案 10 :(得分:2)

然而,问题在上面已准确回答,但只是想分享我的知识。 回发基本上是一个属性,我们可以在执行一些需要我们管理页面状态的任务时使用,也就是说我们已经触发了一些事件,例如点击按钮或如果我们刷新了我们的页面。 当我们的页面第一次加载时,即如果我们刷新了页面,那时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