2009-06-29 8 views
0

Ich habe eine MVC-Anwendung. Sprich zum Beispiel, wenn wir eine Dropdown-Liste haben, macht Autos, wenn ausgewählt, Beiträge an sich selbst und erhält Automodelle. Jetzt auf dem Post verliert das Feld Auto macht es wert. Ich benutze Form.Get ("combo_box_field_name") und wenn es einen Wert hat, fülle ich das Auto-Make-Dropdown-Menü vor. Da viele Kontrollen auf meinem Formular diese Art von Post machen und ich die Felder vorher auffüllen muss, habe ich mich gefragt, ob dies der richtige Weg ist, Dinge zu tun. Ich habe viele asp-Klassiker funktioniert und auch asp.net und sieht aus wie mvc ist sehr ähnlich in Ansatz tp classic asp. Wenn jemand in der richtigen Weise führen kann, kann dies sehr geschätzt werden. Ich bin nicht auf der Suche nach AJAX so pls sagen Sie mir nicht in Bezug auf Cascading Dropdowns und ich habe eine Vielzahl von anderen Steuerelementen in der Form, die Aktualisierung auf dem Formular auf sich selbst gebucht werden muss, bevor ich die Seite verlassen, um die Daten zu speichernMVC Form Post zu sich Szenario

+2

Können Sie bitte den Code für Controller und anzeigen? –

Antwort

1

Ich glaube nicht, dass ich Form.get jemals in meiner MVC-Anwendung verwendet habe.

Ich poste zurück zu der Steuerung, die aussieht;

[AcceptVerbs(HttpVerbs.Post), Authorize] 
    public ActionResult MyAction(FormCollection collection) 
    { 
     MyClass myClass = new MyClass(); 
     UpdateModel(myClass); 

     //do stuff with data 

     return View(myClass); 
    } 

Also im Grunde lassen Sie MVC die Daten aus der Sicht für Sie greifen.

Sie müssen möglicherweise Ihre Dropdown-Listen mit diesem neu laden, aber Sie können das umgehen, indem Sie JSON verwenden, um teilweise Postbacks zu tun.

+0

Müssen Sie die Sammlung in das Domänenobjekt myClass übersetzen? – chugh97