Wie gebe ich mehrere Modelle zu teilweise Ansichten in ASP.NET MVC
Ich gelesen habe Scott Guthrie ' s post auf Vorbei ViewData von Controllern, Views, aber ich glaube nicht, dass die Lektion ist Sie für meine spezifische situation.
(Hinweis: Aufgrund der client-proprietäre Einschränkungen, kann ich nicht sprechen, fügen Sie den code, so dass ich entschuldige mich, wenn meine aus der Fall ist ein bisschen blöd/verwirrend.)
Ich habe einen Controller namens ScenarioController die Griffe der verschiedenen Aktionen rund um die Erstellung einer Szenario-Modell. Verschiedene Aktionen, die ein Benutzer abgeschlossen wird, sind die Allgemeinen CRUD-Szenarien. Ich kann eine website erstellen, die dies für das Szenario-Modell. Allerdings habe ich vor kurzem aktualisiert das Szenario-Modell, so dass es nun aus verschiedenen sub-Komponenten (Listen von anderen Objekten). Die entsprechende Ansicht nutzt jQuery-Tabs, die Last teilweise auf den zu, schließlich laden Sie die Formulare in den verschiedenen sub-Komponenten-Daten. Leider ist dies, wo ich bin Probleme.
Meine Index-Seite, die derzeit wie folgt aussieht:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm()) {%>
<div id="scenario">
<div id="tabs">
<ul>
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>
<div id="tab1"><% Html.RenderPartial("Tab1"); %></div>
<div id="tab2"><% Html.RenderPartial("Tab2"); %></div>
<div id="tab3"><% Html.RenderPartial("Tab3"); %></div>
</div>
<div class="submitButtons">
<input type="button" value="Save Scenario" id="SaveScenario" />
<input type="button" value="Submit Scenario" id="SubmitScenario" />
</div>
</div>
<% } %>
</asp:Content>
Teilweisen Seiten sind stark typisiert, was auch immer Sie darstellen (vor allem List<SomeObject>
).
Wie sollen die Daten gespeichert werden, die innerhalb des Szenario-Modell? Ich bin mit einer SQL-Datenbank und die Verknüpfung mit Entity Framework. Brauche ich dann noch Eigenschaften, die die verschiedenen Listen der Elemente (so kann ich pass ViewData mit stark typisierten Klassen), oder ist das etwas, was ich kann in der ViewData direkt von der Entität aufruft (und Besetzung bei Bedarf)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie so viele Modelle wie Sie wollen in Ihrem Blick. Sie müssen nur eine Kapselung von Modell, die kann alle Ihre 'senden' - Modelle.
können Sie auch Gebrauch machen von
ViewData
aber mit einem Modell ist zu empfehlen.Tun Sie Ihre 3 tabs müssen das gesamte Modell oder nur ein Teil davon?
lassen Sie uns sagen, Sie haben 3 Modelle in den Verguss-Modell. namens tab1 tab2 tab3.
so, dann könnten Sie schicken jedes
Renderpartial
es entsprechende Modell als so:Ihre Kapselung Modell könnte dann so Aussehen
hoffe, das hilft