現在、既存のWebフォームアプリケーションをMVCに変換する作業を行っていますが、ページの1つをデザインする方法がわかりません。既存のページは2500行のコードであり、同じ情報のいくつかの異なるビューを表示する役割を果たします。次の例は、このページのほんの一部(ツールバー)ですが、コードの重複を避けるための最善の方法がわかりません。
管理者ビューツールバー:保存、PDF、印刷、スペルチェック、管理ドキュメント、従業員ビューの切り替え
ツールバーのマネージャービュー:保存、PDF、印刷、スペルチェック、従業員ビューの切り替え
ツールバーの従業員ビュー:保存、PDF、印刷、スペルチェック
アプリケーションを3つの異なるビューに分割しました。それらは同じ部分ビューを使用してページのコンテンツをレンダリングしますが、現在、各ビューには独自のツールバーのコピーがあります。そのため、保存、PDF、印刷、スペルチェックのHTML要素が各ビューで複製されます。ツールバーをレンダリングするための部分的なビューがあることが理想的ですが、それを行うには、ビューに何らかのロジックを配置して、[従業員ビューの切り替え]リンクと管理ドキュメントのどちらを表示するかを決定する必要があります。
他の新しいページを開発しているときにも、同様の問題が発生しました。最初に、異なるページの要件には、部分ビューに分割した同じ要素が含まれています。テストして機能を追加した後、最終的には各ページで部分ビューをわずかに変える必要があります。通常、これは特定のコントロールの可視性にすぎませんが、最終的には、部分ビューに一連のロジックが含まれ、いくつかの項目をチェックして、表示する必要があるかどうかを判断します。
ほとんどの要素が同じであるわずかに異なるビューを処理するための最良のアプローチは何ですか?