What is a postback


How to asp.net postback

All the web applications are running on Web Servers. Whenever a user made a request to the web server, the web server has to return the response to the user. PostBack is the name given to the process of submitting all the information that the user is currently working on and send it all back to the server. Postback is actually sending all the information from client to web server, then web server process all those contents and returns back to client.


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

A postback originates from the client side browser. When the web page and its contents are sent to the web server for processing some information and then, the web server posts the same page back to the client browser. Normally one of the controls on the page will be manipulated by the user (e.g. button click), and this control will initiate a postback. Then the state of this control and all other controls on the page is Posted Back to the web server.

ASP.NET also adds two additional hidden input fields that are used to exchange information back to the server. This information consists of ID of the Control that raised the event and any additional information if needed. These fields will empty initially like the following:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
_doPostBack() in asp.net

The _doPostBack() function has the responsibility for setting these values with the appropriate information about the event and the submitting the form. The _doPostBack() function is shown below:

<script language="text/javascript"> function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } </script>

ASP.NET generates the _doPostBack() function automatically, provided at least one control on the page uses automatic postbacks.

You can also pass an event argument along with the target in case you need to pass something to your code behind:


__doPostBack( "Button1', '<event argument here>' )

This would be captured in the code behind as Request.Form["__EVENTARGUEMENT"]

So in this way you can use __doPostBack.