2009-03-27 11 views
0

Ich habe ein Dateneingabemodul, wo ich die Informationen meines Produktes und seine Nebeninformationen wie hinzufügen:MVC Art und Weise der Dateneingabe der Handhabung

Produkt grundlegende Informationen Produktpreis Info Produktpreis Details

Preisinfo und Preisangaben beziehen sich auf Produkt und sind Listen

In meinem Webformular-Ansatz würde ich mein Hauptprodukt Objekt auf den Ansichtszustand speichern, und ich würde seine Preisinformationen und Details während Ajax Postbacks ausfüllen. Auf diese Weise kann ich ein kompaktes Modul erstellen, das sehr benutzerfreundlich ist, um viele Daten von einem Ort aus zu definieren, ohne dass diese Daten aus separaten Modulen eingegeben werden müssen. Und wenn ich fertig bin, würde ich eine product.save() machen und das würde alle Daten in den entsprechenden Tabellen auf db beibehalten.

Jetzt baue ich ähnliche app auf .net mvc-Framework und darüber nachdenken, was die gute Möglichkeit wäre, dies auf mvc zu behandeln.

Ich stimme nicht in Richtung all dies speichern auf der Client-Seite, bis ich auf Speichern klicke. Und das Speichern in der Datenbank nach jeder Aktion erinnert mich an die Tage, die ich auf ASP geschrieben habe.

Wird Ihre Eingaben über die Möglichkeiten schätzen diese auf MVC-Framework

+0

Was ist los mit der Speicherung von Client-Seite? –

+0

Sie erkennen, dass das Speichern im ViewState tatsächlich auf dem Client gespeichert wurde? –

+0

Das Speichern auf der Client-Seite scheint zu einer zusätzlichen Wartung zu werden. Um richtig zu handeln, muss ich die JS-Version meiner Klassen erstellen und die Daten in ihnen speichern. Also 1. Ich muss die Klassenstruktur duplizieren, die ich bereits auf dem Server 2 habe. Ich muss es beibehalten. – kaivalya

Antwort

0

ich der beste Weg, dies zu tun, glauben zu nähern, um die Daten auf der Clientseite zu speichern. Es reduziert unnötige Postbacks und verbessert die Reaktionsfähigkeit Ihrer Anwendung. Wenn Sie es wirklich auf dem Server speichern möchten, können Sie SessionState verwenden. Wenn Sie es wirklich in etwas wie ViewState speichern möchten, können Sie mit einer Lösung wie folgt gehen: ASP.NET MVC - Is there a way to simulate a ViewState? Ich empfehle jedoch dagegen, da es die Dinge komplizierter machen wird. Client-seitig ist es wahrscheinlich die eleganteste Methode und das Speichern in SessionState ist am einfachsten.

Denken Sie daran, dass Sie immer das MVC-Muster entweichen kann und ein einfaches Web-Formular für die jeweilige Seite verwenden (was gibt Ihnen Viewstate, wo Sie es brauchen): ASP.NET MVC controller actions design

+0

Bitte Siehe meine Kommentare oben. Mir ist nicht klar, warum es der beste Weg wäre. Kleine Postbacks auf einem Dateneingabemodul erzeugen aus Sicht des Benutzers keine merkliche Verzögerung, sondern fügen der App eine hohe Wartungsebene hinzu. – kaivalya

0

Laden Sie Ihre Produktliste auf das Modell der Ansicht, Jedes Mal, wenn Sie einen Wert ändern, können Sie einen Ajax-Post an den Controller senden und die Änderungen in der Datenbank speichern. Verwenden Sie Teilansichten, um jedes Element in Ihrer Produktliste anzuzeigen

0

Sie können versuchen, http://www.castleproject.org/ActiveRecord/ zum einfachen Speichern und Aktualisieren zu integrieren . Auf diese Weise können Sie Ihr Modell einfach mit ORM (Object Relational Mapping) in Ihrer Datenbank abbilden. Es dauert ein bisschen mehr Arbeit am Anfang, aber Sie werden am Ende mit einfachen Befehlen wie product.Update() und product.Create()

Verwandte Themen