2 Stimmen

Welches Element sollte ich in ASP.NET MVC erstellen, wenn ich eine Ansicht in kleinere Unteransichten aufteilen möchte?

Ich habe eine ASP.NET MVC-Anwendung, die ich baue und ich bin mit einer Master-Seite. Auf dieser Masterseite möchte ich die Dinge weiter aufteilen, indem ich eine separate Datei für "Tabs", "Header" und "Footer" erstelle.

Welche Art von Ansicht sollte ich erstellen, um diese Dinge zu kapseln und meine Masterseite zu entschlacken? Und wie referenziere ich sie an der richtigen Stelle in meiner Masteransicht, damit sie richtig gerendert werden?

Es gibt mehrere verschiedene Arten von Optionen für die Erstellung von Ansichten/Inhaltsansichten/Benutzersteuerelementen usw. für MVC, und ich muss wissen, welche die richtige für diese Aufgabe ist und wie man sie verwendet.

3voto

eu-ge-ne Punkte 27673

Wenn Sie WebForms Views verwenden, haben Sie 3 Möglichkeiten:

Teilansichten/Benutzersteuerelemente :

Mit Html.RenderPartial (ich denke, es ist die beste Methode für die Erstellung von Tabs in ASP.NET MVC 1.0 für heute). Ihr Markup wird wie folgt aussehen:

<% Html.RenderPartial(ViewData["TabName"], ViewData["TabData"]); %>

Verschachtelte MasterPages :

  • Site.master mit ContentPlaceHolders für Content, Header, Sidebars, Footer ...
  • Tabs.master mit ContentPlaceHolder für Tabs im <asp:Content ContentPlaceHolderID="Content" >
  • Eine Menge von Tab1.aspx ... TabN.aspx für Registerkarten .

HtmlHelper-Erweiterungen :

Sie können (ich denke, es ist der falsche Weg für die Erstellung von Tabs) etwas wie dieses verwenden:

<% if(ViewData["TabName"] = "Tab1") { %>
    <%= Html.Tab1() %>
<% } else if(ViewData["TabName"] = "Tab2") { %>
    <%= Html.Tab2() %>
<% } else ...
... 
...
...

0voto

Perpetualcoder Punkte 13291

Haben Sie schon an Usercontrols/Teilansichten gedacht?

Bearbeiten:Wenn es nur html ist, können Sie html-Dateien schreiben und mit Hilfsmethoden rendern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X