Ich versuche, einige Daten aus einem modalen Dialog zu meinem Controller mit Ajax zu senden. Aber meine Modellfelder sind immer Null, aber ich gebe meine Aktion im Controller ein.AJAX Post zu MVC Controller-Modell jedes Mal leer
Dies ist eine Kurzversion meiner cshtml-Datei.
@model anmespace.MyModel
<form method="post" id="formID">
...
<div class="row">
<div class="col-md-5">@Resource.GetResource("MyModal", "Firstname")</div>
<div class="col-md-7"><input type="text" class="form-control" id="firstname" value="@Html.DisplayFor(model => model.FirstName)"></div>
</div>
...
<input type="submit" class="btn btn-primary" value="Submit" />
</form>
<script>
$("#formID").on("submit", function (event) {
var $this = $(this);
var frmValues = $this.serialize();
$.ajax({
cache: false,
async: true,
type: "POST",
url: "@Url.Action("ActionName", "Controller")",
data: frmValues,
success: function (data) {
alert(data);
}
});
});
</script>
Sorry MVC/Ajax sind wirklich neu für mich.
Können Sie Ihren Aktionscode sowie einen Code für das viewModel-Objekt angeben, wenn Sie solche haben? –
Ihre Formularsteuerelemente haben kein name-Attribut, so dass sie keinen Wert übermitteln. –
Und generieren Sie Formularsteuerelemente korrekt mit '@ Html.TextBoxFor (m => m.FirstName, new {@ class =" form-control "})' –