0

私は 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」を検索し、該当するページを取得します。ここで、このページのすべての要素 (単に要素と呼びます) をレンダリングしたいと思います。各要素には、独自のコントローラーと複数のアクションが必要です。

4

1 に答える 1

0

Asp.netMVCのデフォルトルーティングは問題ないようです

デフォルトルート定義は、あなたの場合にも同様に機能します。少なくとも、特に問題はありません。

{controller}/{action}/{id}

コントローラーがある場所:

  • HomeController
  • AboutController-たとえば、このコントローラーにはOurCompanyアクションがあります(/ about / ourcompany)
  • ContactController

まだ完全には明確ではありません

ただし、アプリケーションに含めるURLを指定する必要があると思います。そうすれば、サポートできる可能性があります。ナビゲーションで要素が何を意味するのかわかりませんか?それはどのようにURLに変換されますか?

于 2012-10-10T12:23:16.410 に答える