Sunday, August 27, 2006

ASP.NET 2.0: Cross Page Postbacks

Most regular Web pages written by professional developers in ASP, PHP or other conventional languages use HTTP POST operation for submitting data from one page to another, often hidden page which manages data submission and normally updates a database. It was considered to be a bad practice to POST to the same page. First of all, it leads to inability to use browser's Reload/Refresh button (you would get "Page expired" message) unless some special manipulations with cache are performed. Also, it potentially leads to multiple modifications of a database in case Reload was performed.
ASP.NET introduced a paradigm of POSTing to a same page as a main method. It used internal tricks to deal with "Page expired" and multiple data updates. In my opinion, it was teaching newbie developers, who didn't realize what happens under the hood to a bad technique. (Not a first time MS is doing that, though).

It looks like obvious considerations started to overturn strange ideas of MS Web designers - thus "Cross Page Postbacks" are introduced in ASP.NET 2.0. Most of experienced Web developers who are not inclined to a weird Microsoft's idea of transforming page-based architecture of World Wide Web to Windows desktop applications behavior used it all the time in most Web languages...