Ich schreibe Anwendung mit asp.net mvc. Ich habe Controller mit Aktion, die einige ViewModel als Parameter verwenden. Wie man Formulardaten mit jquery Beitrag zu diesem mvc Steuerpult sendet.Wie sende ich Daten in jquery.post an den mvc-Controller, der ViewModel als Parameter verwendet?
Antwort
$.post("Yourcontroller/YourAction", { FirstName : $("#txtFirstName").val(), LastName : $("#txtLastName") } ,function(data){
//do whatever with the response
});
Ihre Ansichtsmodell Eigenschaftsnamen und Parameter sind vorbei, wir sollten gleich sein. Dh: Ihre Ansicht Modell 2 Eigenschaften nannte seine FirstName
und LastName
wie
public class PersonViewModel
{
public string FirstName { set;get;}
public string LastName { set;get;}
// other properties
}
Und Ihr Beitrag Aktion Methode sollte einen Parameter vom Typ akzeptieren PersonViewModel
[HttpPost]
public ActionResult YourAction(PersonViewModel model)
{
//Now check model.FirstName
}
Alternativ Wenn Ihre Ansicht stark typisiert haben sollte das PersonViewModel, können Sie das serialisierte Formular einfach an die Aktionsmethode senden, indem Sie jQuery serialize
Methode
$.post("Yourcontroller/YourAction", $("#formId").serialize() ,function(data){
//do whatever with the response
});
verwenden
EDIT: Gemäss Kommentar
Serialize
Pflege des Kindes Eigentum sowie nehmen. Angenommen, Sie eine Klasse, Beruf genannt wie diese
public class Profession
{
public string ProfessionName { set; get; }
}
Und Ihre PersonViewModel hat eine Eigenschaft vom Typ Profession
public class PersonViewModel
{
//other properties
public Profession Profession { set; get; }
public PersonViewModel()
{
if (Profession == null)
Profession = new Profession();
}
}
Sie werden diese Daten in Ihrem bekommen Httppost Aktion Methode, wenn Sie füllen das aus Ihrer Sicht .
var myData = {
Parameter1: $("#someElementId").val(),
Parameter2: $("#anotherElementId").val(),
ListParameter: { /* Define IEnumerable collections as json array as well */}
// more params here
}
$.ajax({
url: 'someUrl',
type: 'POST',
dataType: "json",
contentType: 'application/json',
data: JSON.stringify(myData)
});
[HttpPost]
public JsonResult Create(CustomViewModel vm)
{
// You can access your ViewModel like a non-ajax call here.
var passedValue = vm.Parameter1;
}
Sie können auch die ganze Form serialisiert und an Ihre Controller-Aktion-Methode übergeben. In Sie Ajax-Aufruf:
data: $('form').serialize()
Great !!! Ich wusste nicht, dass es wird funktioniert. Vielen Dank. Ich werde es überprüfen und an Sie weitergeben. – Radislav
- 1. Wie sende ich Parameter an Stimulsoft?
- 2. Wie sende ich Daten an java webservice?
- 3. Wie sende ich Parameter an einen benutzerdefinierten Befehl in Xamarin.iOS?
- 4. jQuery.post() Daten nicht "posten"
- 5. Wie sende ich Parameter an ein FactoryGirl-Merkmal?
- 6. Wie sende ich Daten vom Listenadapter an Aktivitäten in Android?
- 7. Wie sende ich mehrere Parameter in ios?
- 8. sende arraylist als Parameter in Volley-Anfrage
- 9. Wie sende ich Daten mit OpenGL an Vertex Shader?
- 10. Wie sende ich Daten an einen laufenden Python-Thread?
- 11. Wie sende ich Daten korrekt an eine geöffnete Firefox Sidebar?
- 12. Wie sende ich ein Pfadverzeichnis als Parameter an ein PHP-Skript?
- 13. Wie sende ich Daten an bestimmte Socket-Verbindungen?
- 14. Wie sende ich asynchrone Daten über libwebsocket?
- 15. Wie übergebe ich den UI Dispatcher an das ViewModel
- 16. Beitrag mehrere Parameter MVC-Controller mit jQuery.post
- 17. Übergabe der Instanz der Klasse als Parameter an den Attributkonstruktor
- 18. Wie sende ich response.data nur an meine Controller anstelle der gesamten Antwort, wenn $ http.jsonp verwendet wird?
- 19. Wie wird der ViewModel-First-Ansatz verwendet?
- 20. jQuery.post() - Probleme beim Versenden von Post-Daten
- 21. Wie setze ich den DB als Parameter in SSRS?
- 22. Wie sende ich Massendaten in der URL?
- 23. Wie bekomme ich Daten in das ViewModel eines UserControls?
- 24. Wie sende ich den Dateinamen mit Plupload?
- 25. Übergeben der MainWindow-Instanz an ViewModel
- 26. jQuery.post() dynamisch generierte Daten zum Server gibt leere Antwort
- 27. Wie sende ich telnet Optionscodes?
- 28. Wie sende ich Daten mit Socket in nodejs
- 29. Gibt Daten von jQuery.post AJAX-Aufruf zurück?
- 30. Wie bekomme ich die Daten, die ich mit ajax $ .post an die Server-Seite sende?
Was passiert, wenn mein Modell ein viewModel als Eigenschaft enthält? Zum Beispiel Person hat Eigentum Beruf mit anderen Eigenschaften? – Radislav
@Radislav: Ja wird es. Überprüfen Sie meine aktualisierte Antwort. – Shyju
Ausgezeichnet !!! Danke vielmals!!!! – Radislav