Ich habe folgende JavaScript-Klasse, die ich hier zu einer ASP.NET MVC-ControllerPassing Javascript-Array zu ASP.NET MVC-Controller
var postParams = {
attributes : [
{
name : '',
description: '',
attributeType : '',
value : ''
}
]
};
postParams.attributes[0] = new Object();
postParams.attributes[0].name = "test";
postParams.attributes[0].description = "test";
postParams.attributes[0].attributeType = "test";
postParams.attributes[0].value = "test";
passieren bin versucht, wie ich die Controller-Methode aufrufen:
var actionURL = "@Url.Action("Save", "Catalog")";
$.ajax({
type: "POST",
url: actionURL,
data: postParams ......
Auf der Seite-Controller ich habe ein Ansichtsmodell erklärt wie folgt: Methode ist
public class AttributeViewModel
{
public string name { get; set; }
public string description { get; set; }
public string attributeType { get; set; }
public string value { get; set; }
}
My-Controller speichern de erklärtes wie folgt:
public JsonResult Save(AttributeViewModel[] attributes)
Wenn ich den Wert von Attributen ausführen immer null ist.
Irgendwelche Ideen? Ich bin mir nicht sicher, wie ich überhaupt mit dem Debuggen beginnen soll.
Danke für den Vorschlag. Es wurde ein Verweis auf Json.net hinzugefügt und der Filter hinzugefügt, aber null wird weiterhin an Attribute übergeben. – Lance
@Lance Antwort aktualisiert mit Client-Code –
Danke Sanja, Hinzufügen von JSON.stringify() hat ein Vergnügen gemacht !! – Lance