興味深い ASP ページを継承しました。このページには、さまざまなレポートがユーザーに表示されます。レポート タイプは、レポート ページが読み込まれる前に、左側のメニューからユーザーが選択します。レポート ページでは、レポート パラメータ (レポートの開始日と終了日など) をユーザーにクエリするために、比較的小さな画面要素のセットを使用しますが、約 20 の異なるレポートがあります。各レポートは、これらの要素のどれを表示するかを決定し、要求されたときにバックエンドでレポートを生成し、特定のレポートを表示するように変更された GridView でレポートを表示します。
実際、それはそれほど悪い構造ではありません。問題は、バッキング コード ファイルが約 4000 行のコードになっていることです。その多くは、switch または if then else ステートメントで、どのレポート タイプかを尋ねてから、特定のレポートの特殊なケースを処理します。
私がやりたいことは、各レポートを独自のクラス ファイルにプッシュし、ベース レポート ページ クラスから継承し、必要に応じて固有の変更を実装することです。次に、ページの読み込み中に適切なクラスを選択します (ページを読み込むメニュー選択でレポート タイプが選択されるため、これはわかっています)。
これを達成する方法について考えていますか?