2016-04-13 7 views
-1

私は基本的なホーム、About、Courses、Contactページを扱う「ホーム」コントローラを持っています。利用できるコースは複数あり、それぞれ独自のページがあり、これらのページを参照するための最良の方法を知りたいと思います。私はちょうど追加のページとしてそれらを作成し、各ページのホームコントローラにactionresultを追加することができます。したがってコースのURLはhome/course1になります。恐らくこれよりずっと良い方法があるでしょう。複数のページ、シングルコントローラ、mvcで設定する方法は?

私は理想的には、個々のコースページをビューフォルダ内の別のフォルダに入れ、そのURLを/ home/courses/course1にしたいと考えています。誰もがこれらのページを整理するためのMVCを使用して最良の方法を説明できますか?

+0

あなたはどのフレームワークまたは言語を使用していますか? –

+0

何が「より良い」方法を期待していますか? –

+0

私はasp.net MVC 5を使用しています、私は単純にコントローラの個々のページのすべてを一覧表示するよりも何かを期待していませんでした。たとえば、コントローラーのCoursesアクションをマークして、個々のページごとに個別のアクションとしてそれらのすべてをリストしなくても応答するようにするにはどうすればよいですか? – Rob

答えて

0

このようになります:すべてのコースのための単一のページがあり、すべてのコースページは部分的なビューになります。メインページにdivがあり、ユーザーがコース名の1つをクリックするたびにそれはajax要求を起動し、必要な部分を返し、返された内容でdivを取り込みます。コースのすべてのリンクに共通のクラスを与えることができます。

のようになります。 <a class="couseTrigger" data-source="@Url.Action("Name of Partialview action," name of controller")"> ------ Script ----- $('.couseTrigger').click(function(){ var _this = $(this); var url = _this.data('source'); --then make the ajax request to this url pvariable and retrun the partial view. });

0

複数のコースターがある場合は、それらのコースの複数のウェブページを作成しないでください。むしろ、各コースのコンテンツをデータベースに保存し、特定のコースのコンテンツをいくつかのパラメータで取得し、それをウェブページにバインドします。各コースのウェブページを作成することは実現不可能です。あなたは100コースで100のWebページを作成しようとしているとしますか?

関連する問題