0

I'm new to web programming, recently started to learn asp.net. Could anyone explain to me what is a postback request and how it defers from simple (if I can call it so) request?

4

4 回答 4

3

微软试图让 web 编程有点像 windows 编程……它提出了 webforms。当您第一次从 asp.net 获取页面时,您会执行 GET,然后您会得到一个“webform”,它是一个带有按钮、文本框、组合框的网页,很像一个窗口对话框。

现在,microsoft 框架有一点魔力,您可以配置更改(如单击按钮或更改组合框)来进行回发。这意味着浏览器将 POST 包含更改的页面,然后将其转换为事件,例如文本更改、按钮单击或组合框更改。您可以处理它,然后它将更改的页面重新发送回浏览器。

所以基本上回发是触发点,您可以在使用网络表单时处理服务器上的事件。这并不是其他 Web 框架的工作方式。

于 2012-12-30T10:57:42.403 回答
2

简单的请求是“给我某某页面”。

回发请求是“给我某某页面(我已经在上面了),但是当您其发时,请相应地更改这些数据(这将是用户选择组合框或选中单选按钮或任何)。

当您编写 asp.net 代码时,您会将第一次访问页面时发生的所有内容page_load放在

if (!postback)
{
}

这确保了当用户设置了上述选项时,应该在用户第一次访问页面时加载的代码不会发生

于 2012-12-30T10:48:16.703 回答
1

PostBack 是将 ASP.NET 页面提交到服务器进行处理的过程的名称。如果要根据数据库检查页面的某些凭据(例如验证用户名和密码)或进行一些计算,则会完成 PostBack。
这是客户端机器无法完成的事情,因此这些细节必须“回发”到服务器。
Postback通常在您单击buttonradiobuttoncheckboxany other control如果您OnClick在标记中指定事件)时发生。如果在标记中指定,许多其他事件也会调用回发。

注意:当回发到服务器时,它也会处理page_Load当前页面的事件。

于 2012-12-30T13:02:39.260 回答
1

在 ASP.NET 中,有一个叫做 PostBack 的东西。在经典的 ASP.NET WebForm中,整个页面内只能有一个<form>元素。method="post"每次您单击此表单内的按钮或执行某些操作时,ASP.NET 都会 POST 到同一个 WebForm。因此名称为 PostBack。所以基本上你将第一次使用 GET 请求来呈现 webForm,从现在开始,你在这个表单上所做的一切都会导致对自身的 POST 请求。

在普通的 Web 应用程序中,您可以<form>在 HTML 中包含多个元素。每个表单都可以发布到不同的端点,一些使用 GET,另一些使用 POST 请求。

于 2012-12-30T10:47:58.100 回答