私はコンテンツを管理し、ページを追加/削除できるクライアント用のWebサイトを開発しています。ユーザーがページを追加/削除できるASP.NET MVC Webサイト
同時に、サイトの一部のページは対話型で、ログインした顧客のカスタムレポートを提供します。
レンダリングを完全に制御したいので、私はASP.NET MVCでサイトを開発し始めました。
しかし、概念的にサイトをモデル化することは難しいと思っています。
ユーザーがページを追加/削除できる場合、URLをコントローラに直接マッピングするにはどうすればよいですか?
私は1つの「ページ」コントローラを実行してコンテンツIDを渡すことができますが、それはすべてのコードが1クラスファイルの下にあることを意味します。
私はカスタム/インタラクティブなページを別のコントローラの下に置くことができましたが、顧客はどのようにそれらを管理できますか?
私は本当にこの使いやすさの角度にも失われています。カスタムインタラクティブページを作成している場合、クライアントはどのように追加/削除できますか?それはアプリケーション自体の構造を変更するものではありませんか?
私は1つのオプションを考えています...カスタムルーティングハンドラを作成しています。それはURLを取り、コントローラーが存在しない場合は、一致する名前の「Content」行を検索し、デフォルトのコントローラー(例:Page)を使用して表示します。コントローラーが見つかった場合、そのコントローラーが実行され、一致する「Content」行が存在する場合は、何らかの形でそのコントローラーに渡されます(コンストラクターなど)。これを行うのに十分な柔軟性を持つASP.NET MVCルーティングはありますか? – Jonathan
個人的に私はUmbracoのようなオープンソースのCMSシステムをこのタイプのタスクに使用します。私は特注の機能をCMSに統合するのは、CMSを特注のサイトに統合するよりも簡単だと思います!しかし、幸運。 –