Ich versuche, JSON-Daten von der Ansicht auf den Controller zu übergeben, aber Controller immer Null, ich versuchte alles, um dieses Problem zu lösen, aber keine Lösung hier finden, ist mein Controller und JSON-DatenController erhält keine JSON-Daten
$("#ex_save").on("click",function() {
var array = @Html.Raw(Json.Encode(Model));
var json = JSON.stringify(array);
$.ajax({
type: "POST",
url: "/Equipment/BulkUpdate",
data: { jsonCollection : json },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function() {
console.log("Saved");
},
error: function (e) {
console.log(e);
}
});
});
dies meine Ajax-Methode, um Daten an den Controller zu übergeben. und hier ist mein Controller diese Daten zu bekommen: -
[HttpPost]
public ActionResult BulkUpdate(string jsonCollection)
{
try
{
return View();
}
catch
{
throw;
}
}
hier wird der Fehler übergeben: -
Gibt es einen bestimmten Grund Sie senden JSON innerhalb JSON anstatt nur mit dem Standard-Modelbinder zu bekommen? Scheint so, als würdest du einfach Komplexität hinzufügen, ohne dir selbst mehr Arbeit zu geben. –
@RoryMcCrossan Ich habe eine editierbare Tabelle, die ich in der Ansicht zeige, damit der Benutzer sie bearbeiten und auf "Senden" drücken kann, aber ich habe Paginierung, so dass nur die Daten der ersten Seite an die Controller-Sammlung weitergegeben werden. – Abhay
Sie übergeben einen String und erwarten einen String, aber Ihr $ .ajax Aufruf sagt ihm, dass es tatsächlich json ist (wenn es nicht ist, ist es ein String). Ändern Sie den contentType in string oder entfernen Sie ihn. https://StackOverflow.com/a/18701357/2181514 –