ich wirklich diesen neuen Razor Ansicht Motor ... jemand am Graben Für nur von einer anderen Web-Plattform zu Hause der neuen MVC 3 Bemühungen für mich zu fühlen beginnen, kommt ...Razor Ansicht Motor RenderSection
Meine Frage Es geht um Abschnitte, ich sehe, dass es möglich ist, Abschnitte in Ihrem Layout zu definieren und Inhalt in sie zu injizieren, aber von allen Samples, die ich gesehen habe, scheint es, dass dies aus der Ansicht heraus geschieht. Für mich ist es sinnvoller, Inhalte oder Ausgaben für jeden Abschnitt vom Controller aus zuzuweisen.
Wenn ich also ein Layout habe, das eine Seitenleiste enthält, die ich Widgets in meine Ansichtsdatei laden möchte, sollte nicht für das Rendern des Inhalts in diese Abschnitte verantwortlich sein. Wenn dies der Fall wäre, müsste der Code für die Seitenleiste über mehrere Ansichten hinweg geteilt werden, dann müsste ich diesen Code über Ansichtsdateien duplizieren. Meine Ansichtsdateien sollten nicht wissen, welcher Inhalt in der nebenstehenden Seitenleiste angezeigt wird.
Idealerweise möchte ich meinen Abschnitten in der Seitenleiste von meinem Controller aus Inhalte zuordnen, also meine Frage, ist das möglich?
Warum sollte es sinnvoller sein, dies vom Controller aus zu tun? Controller sollen im Allgemeinen keine View-Logik haben; Sie sind nur dafür verantwortlich, eine Ansicht auszuwählen und ihr ein Modell zu geben. – Aaronaught
Warum erstellen Sie keine Teilansicht und verwenden diese in den Ansichten wie erforderlich? – timothyclifford
Controller haben View-Logik, wenn Sie darüber nachdenken, sie initiieren das Ansichtsmodell, weisen in einigen Fällen Werte zu und rufen dann die entsprechende Ansicht auf, die es verwendet. Das gleiche sollte für Abschnitte getan werden. – JBeckton