ich MVC verwende und ein Formular aus meiner Sicht haben alsMVC-Formular Javascript Post ist null innerhalb Controller
@using(Html.BeginForm(null, null, FormMethod.Post)) {
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.SysCreated)
@Html.HiddenFor(m => m.SysDeleted)
@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
<input typeof="button" value="Create New" onclick="newSchool(this)" class="btn btn-sm btn-primary btn-block btn-signin" style = "margin-bottom:20px"/>
}
folgt Ich versuche, dies mit einer JavaScript-Funktion zu schreiben, damit ich die Seite erfrischend vermeiden. Ich habe die folgende Funktion
function newSchool(btnClicked) {
var $form = $(btnClicked).parents('form');
var data = $form.serialize();
console.log(JSON.stringify(data));
$.ajax({
url: '@Url.Action("AddSchool", "SetupSchools")',
type: 'POST',
contentType: "json",
data: {
newSchool: JSON.stringify(data)
},
success: function() {
DevExpress.ui.notify('School Added', 'success', 1500);
},
failure: function(xhr, textStatus, errorThrown) {
DevExpress.ui.notify('Error - ' + XMLHttpRequest.responseText, 'error', 1500);
},
});
}
ich in der Konsole sehen können, dass die Daten dort und sieht richtig, aber die Daten in meinem Controller ist immer null. Mein Controller sieht wie folgt aus:
public void AddSchool(Models.School school)
{
}
Wie kann ich die Daten korrekt senden? Oder gibt es eine bessere Möglichkeit, die Daten zu posten, ohne das Formular zu aktualisieren.
Bitte beachten Sie, dass das Tag [tag: model-view-controller] für Fragen zum * pattern * gedacht ist. Verwenden Sie das Tag [tag: asp.net-mvc] für Fragen zur ASP.NET-Implementierung. –
können Sie Ajax.BeginForm Helfer verwenden, und es nicht stringifizieren, direkt post es –
wie: '' Daten: Daten, '' –