私は ColdFusion で実行している CMS を持っています。通常、ColdFusion でフロントエンドも実行しています。学習上の理由から、ASP.Net MVC 4 フレームワークを使用してフロントエンドを実現したいと考えています。MVC アプリケーションの場合、通常は単純なコントローラー/アクション ルーティングがありますが、これは完全に異なる構造であるため、私の CMS では意味がありません。
私の CMS には、Web サイトの構造全体とルーティングを処理するナビゲーション モジュールが基礎として含まれています。すべてのナビゲーション エントリで、複数の要素 (たとえば、単純な HTML コード、ニュース モジュール、またはギャラリー モジュール) を持つことができる 1 つのページを割り当てることができます。
サイト構造の例:
- ホーム->ページ->要素 (html)
- について->ページ->要素 (html など)
- 当社->ページ->要素 (html、ニュース、ギャラリー)
- 当社製品->ページ->要素 (html、...)
- 連絡先->ページ->要素 (html、連絡先フォーム)
したがって、ユーザーがブラウザで「www.example.com/about/our-company.html」を開くと、アプリケーションは、エントリ「about」の子である責任あるナビゲーション エントリ「our-company」を見つけます。これで、このナビゲーション エントリのページに割り当てられた要素 "html"、"news"、"gallery" をレンダリングする必要があります。
私の質問は、ASP.Net MVC フレームワークでこれをどのように実現するのでしょうか? それは可能ですか?ここでMVCは意味がありますか?
ページ要素ごとにモデル、コントローラー、ビューが必要です。異なる (要素) コントローラーで複数のアクションをレンダリングするベース コントローラーのようなものが必要ですか?
アップデート
サイト構造は静的ではなく動的であり、CMS によって管理されます。
別の例: www.example.com/de/about/more/andmore/something.html
この例では、ナビゲーション テーブルでキー「something」を検索し、該当するページを取得します。ここで、このページのすべての要素 (単に要素と呼びます) をレンダリングしたいと思います。各要素には、独自のコントローラーと複数のアクションが必要です。