Bedingt seitlichem Blick auf die Anzeige basiert auf der aktiven Seite
Ich versuche, mich damit vertraut zu machen ASP.net MVC5 und bin Portierung über eine bestehende website.
Habe ich definiert einen standardmäßigen freigegebenen layout-Ansicht enthält mehrere Teiltöne für Dinge wie header, navigation, footer, etc...
Der einzige Unterschied zwischen meiner Homepage und andere Seiten mit diesem layout ist die homepage hat einen Schieberegler und ein paar anderen einzigartigen features. Andere als, dass das layout identisch ist.
Weil dieses, ich glaube nicht, dass es garantiert die Schaffung von zwei unterschiedlichen Ansichten und die Einstellung des layout für die Startseite zu verwenden, eine Ansicht, und alle anderen Seiten, eine andere zu verwenden, wenn die meisten von der Vorlage identisch ist.
Habe ich eine teilweise benannt _HomeContentPartial
mit dem einzigartigen Inhalt für die Startseite.
Was ist der beste Weg in Gestochen bedingt auch diese teilweise nur, wenn meine Startseite (index-Aktion auf meinem home-controller) ist die aktuelle Seite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie einfach ein
ViewBag.IsHome = true;
zu denhome
controllerindex
action-Methode controller.Dann fügen Sie diese an die
_layout.chtml
anzeigen:Eine weitere option:
Als können Sie angeben, wie viele render-Regionen, wie Sie in einem layout verwenden, setzen Sie einfach in den Platzhalter für die optionalen Teile und die Verwendung
@RenderSection
mit derrequired
- flag auffalse
so dass es nicht stört, wenn es fehlt.z.B. in der _layout.cshtml
@Klassen rendersection("extraheader", false)
dann in eine Ansicht, die optionalen Teile legen Sie in dieser position:
Welche Methode Sie verwenden, hängt davon ab, wie Sie möchten, um die Wiederverwendung von Komponenten. Sie kann glücklich machen eine Teilansicht innerhalb einer
@section
zu ermöglichen Wiederverwendung über viele Ansichten:z.B.
oder sogar mit einem anderen controller-Aktion (eine bessere Kapselung, so meine Präferenz):
z.B.