2016-04-13 8 views
-1

Ich habe einen "Home" -Controller, der sich mit den grundlegenden Home, About, Courses, Contact-Seiten beschäftigt. Es gibt mehrere Kurse mit jeweils einer eigenen Seite, und ich würde gerne die beste Methode zum Verweisen auf diese Seiten kennenlernen. Ich könnte sie einfach als zusätzliche Seiten erstellen und dem Home-Controller für jede Seite ein Action-Ergebnis hinzufügen. Die URL für einen Kurs wäre also zu Hause/Kurs1. Vermutlich gibt es jedoch eine viel bessere Methode als diese.Mehrere Seiten, Einzelcontroller, wie man es in mvc einrichtet?

Idealerweise hätte ich gerne die einzelnen Kursseiten in einem separaten Ordner im Ansichtsordner und ihre URL wäre/home/courses/course1. Kann jemand die beste Methode erklären, die MVC verwendet, um diese Seiten zu organisieren?

+0

Welchen Rahmen oder welche Sprache verwenden Sie? –

+0

Welche "bessere" Methode erwarten Sie? –

+0

Ich benutze asp.net MVC 5, ich hoffte auf etwas Ordentlicheres, als einfach alle einzelnen Seiten im Controller aufzulisten. Zum Beispiel, um die Aktion "Kurse" im Controller zu markieren, sodass sie auf Links für jede einzelne Seite geantwortet hat, ohne sie alle als eigene separate Aktion aufgelistet zu haben? – Rob

Antwort

0

So geht das: Es wird eine einzige Seite für alle Kurse geben und alle Kursseiten werden Teilansichten sein. Jetzt wird es ein Div auf der Hauptseite geben und wenn der Benutzer auf einen der Kursnamen klickt. Es wird eine Ajax-Anforderung ausgelöst, und es gibt das erforderliche Partial zurück und füllt das Div mit dem zurückgegebenen Inhalt auf. Sie können allen Links von Kursen eine gemeinsame Klasse geben:

. <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

Wenn Sie mehrere Courser haben, vermeiden Sie die Erstellung mehrerer Webseiten für diese Kurse. Vielmehr muss der Inhalt jedes Kurses in einer Datenbank gespeichert werden und bestimmte Kursinhalte durch einen Parameter abgerufen und an die Webseite gebunden werden. Die Erstellung einer Webseite für jeden Kurs ist nicht möglich. Angenommen, Sie haben 100 Kurse, erstellen Sie 100 Webseiten?

Verwandte Themen