Thanks - that was a very nice and thorough response. And I quite agree with much of what you said. You don't have to use "viewstate" and flow layout is the sensible thing to do. But in actual practice .Net projects often do use viewstate and POST even when GET is appropriate and .Net projects frequently use absolute positioning even when flow is clearly approprate. As I said, it IS possible to do good web projects with .Net but in practice it doesn't usually work out that way.
Orkut is a great example of this. In its earliest incarnations it used postbacks and viewstates rather wildly but I notice every so often they seem to have rewritten it to use less and less of that stuff.
One thing I will disagree with you on - dividing your system up into input .aspx pages and reporting pages using reporting services - isn't good design. You shouldn't force a user to go to some other page to print the same data he sees on the screen. The data IS the report - if you can see it on the screen you should be able to print it on the paper without having to navigate to some other page. Think of the URL as the Dewey Decimal number for a piece of information. If you want to see the sales data for June, for instance, you might find it at http://mycompany.com/sales?fromdate=2007-06-01&todate=20...
Why should you have to navigate to a different URL to print that? Tim Berners-Lee's original ideas of the URL as the starting point for the semantic web seem rather good to me but I don't think there are many implementations which come close to recognizing the potential of this idea. Breaking a system into separate sections for reporting and viewing just seems a bit daft. But again, that's the sort of behavior .Net encourages - not requires, but encourages.
I think I misunderstood you there. You are right, from a "User Experience" perspective dividing up the web application's pages into sections for viewing and other sections for printing is probably not very good.
For some reason I thought you were talking about "Reports" and "Reporting" in general, as offered by the Report Viewer Controls in ASP.NET (using rdlc / rdl).
I have used CSS in the past to allow users to print pages (as they see it on the page) and it has worked well for me. Although Report Viewer Controls in ASP.NET have their own magical hold on the business users (Probably because they are made to look and feel similar to other Reporting Packages, which Business Users are comfortable with). So, I still think thats a good way to go, if that is your audience. :)
But, I do understand what you are saying and agree that there is the possibility of people using this technology where it shouldnt be used.
Orkut is a great example of this. In its earliest incarnations it used postbacks and viewstates rather wildly but I notice every so often they seem to have rewritten it to use less and less of that stuff.
One thing I will disagree with you on - dividing your system up into input .aspx pages and reporting pages using reporting services - isn't good design. You shouldn't force a user to go to some other page to print the same data he sees on the screen. The data IS the report - if you can see it on the screen you should be able to print it on the paper without having to navigate to some other page. Think of the URL as the Dewey Decimal number for a piece of information. If you want to see the sales data for June, for instance, you might find it at http://mycompany.com/sales?fromdate=2007-06-01&todate=20... Why should you have to navigate to a different URL to print that? Tim Berners-Lee's original ideas of the URL as the starting point for the semantic web seem rather good to me but I don't think there are many implementations which come close to recognizing the potential of this idea. Breaking a system into separate sections for reporting and viewing just seems a bit daft. But again, that's the sort of behavior .Net encourages - not requires, but encourages.