2012-03-27 3 views
0

In letzter Zeit habe ich beobachtet Pluralsight Intro Videos auf MVC 3. Ich habe noch nie mit dem Model View Control Ansatz gearbeitet, aber ich beginne zu verstehen, wie diese 3 entscheidenden Teile Eine App ist getrennt.Rendering Front-End der Umfrage in eine MVC App

Ich habe einen Front-End-Prototyp einer Umfrage erstellt, die ich in eine Ansicht meiner MVC-Web-App implementieren möchte. Die Umfrage basiert auf HTML, CSS und verwendet jQuery, um Inhaltsänderungen abhängig von der Art der Bewertung (6-11 Fragen) und jQuery UI für ein paar Bewertungen der Schieberegler zu liefern.

Ich habe durch Tutorials bemerkt, dass Sie ein HTML-Formular und Helfer verwenden können, die dem Benutzer erlauben, Inhalte zu bearbeiten, aber mein Prototyp erlaubt den Benutzern bereits, über Radio-Buttons, Kommentar-Textfelder und Schieberegler zu bewerten. Müsste ich meinen vorhandenen Code ändern, wenn ich diese Mitarbeiterdaten nur im Modell speichern möchte, und je nachdem, welche Umfrage der Mitarbeiter über den Controller durchgeführt hat, Dropdown-Felder deaktivieren?

Würde ich auch die aktuellen Mitarbeiterdaten beim Senden der Umfrage über eine HttpPost im Controller an das Model speichern?

Ich entschuldige mich, wenn meine Fragen eher vage erscheinen. Könnte mir jemand in die richtige Richtung zu einer Ressource oder Dokumentation ähnlich meinen oben genannten Bedürfnissen zeigen? Die Pluralsight Videos nehmen mich in die falsche Richtung.

Antwort

2

Die von Ihnen erwähnten Formularhilfen sind optional. Sie könnten eine statische HTML-Seite in einer MVC-App ohne Probleme verwenden, aber das würde zusätzliche Arbeit bedeuten.

Alle Helfer tun Rendern HTML für Sie, um Ihnen die Mühe der Handcodierung zu ersparen.

Ihr Formular sollte ein action Attribut haben, und Sie können das auf eine MVC-Controller-URL verweisen. Die Daten werden in der Anfrage in Ihrem Controller ankommen, und Sie können die Werte von Hand abrufen. Es gibt eine Reihe von Möglichkeiten, dies zu tun, auch die Werte aus durch Schlüssel ziehen:

public ActionResult HelloWorld() 
{ 
    ViewData["Message"] = "Hello World!"; 
    return View(); 
} 

, die den Wert einer Formulareingabe mit einem name="Message" Attribute abrufen würden.

Die beste Möglichkeit, diese Werte zu sammeln, besteht jedoch darin, ASP.NET MVC die Zuordnung zu einem .NET-Objekt für Sie zu ermöglichen. Lesen Sie die Modellbindung, um zu sehen, wie das funktioniert.

Wenn Sie Bücher mögen, empfehle ich Wrox Professional ASP.NET MVC3. Es ist sehr zugänglich und wird Ihre Lernkurve drastisch reduzieren. Gutes Zeug.

+0

Unterstützt kein HTML-Helfer Daten von Objekten in einem Controller oder Modell? Dies würde keinen Sinn ergeben, wenn ich nur versuche, Daten von Benutzereingaben zu "holen". Gibt es Beispiele für die Verwendung von HTML-Helfern, die zum Erstellen, zum Beispiel 3 Radio-Button-Fragen, von Vorteil wären. Ich weiß, dass Sie HTML.beginform verwenden können, um ein Formular zu rendern, aber was ich bin verwirrt, wie Sie das, was ich statisch in diesem Formular erstellt habe, über C# rendern. –

+0

HTML-Helfer sind ziemlich flexibel, und Sie können Ihre eigenen schreiben, so dass Sie einige sehen können, die Formularfelder mit vorhandenen Daten füllen. In Ihrem Fall scheint das jedoch nicht so zu sein. –

+0

Danke für das schnelle Beispiel. Ich werde die Modellbindung in Pluralsight weiterverfolgen. –

Verwandte Themen