How do I attach multiple classes as Codebehind to a single ASP.Net page?
<p>I have inherited an interesting ASP page.  The page presents various reports to the user.  The report type is chosen by the user from a left menu before the report page is loaded.  The reports page uses a relatively small set of screen elements to query the user for the report parameters, for example the start and end date for the report, but there are ~20 different reports.  Each report decides which of these elements to show, then when requested generates the report on the back end and shows the report in a GridView modified to show the particular report.</p>

<p>Actually it's not too bad a structure.  The problem is that the backing code file is now ~4000 lines of code.  Much of that is either switch or if then else statements asking which report type it is and then handling special cases for the specific report.  </p>

<p>What I would like to do is push each report into its own class file, inheriting from the base report page class and implementing its own specific changes as necessary. Then during page load choose the appropriate class (we know this since the menu choice loading the page chooses the report type) as the backing code.</p>

<p>Thoughts on how to accomplish this?</p>
