Ich erstelle eine kleine App, um mir ASP.NET MVC und JQuery beizubringen, und eine der Seiten enthält eine Liste von Elementen, in denen einige ausgewählt werden können. Dann möchte ich einen Knopf drücken und eine Liste (oder etwas Ähnliches) an meinen Controller senden, die die IDs der ausgewählten Elemente enthält, und zwar mithilfe der Post-Funktion von JQuery.
Ich habe es geschafft, ein Array mit den IDs der ausgewählten Elemente zu erhalten, und jetzt möchte ich das veröffentlichen. Eine Möglichkeit, dies zu tun, besteht darin, auf meiner Seite ein Dummy-Formular mit einem ausgeblendeten Wert zu haben und dann den ausgeblendeten Wert mit den ausgewählten Elementen festzulegen und dieses Formular zu veröffentlichen. das sieht allerdings mürrisch aus.
Gibt es eine sauberere Möglichkeit, dies zu erreichen, indem das Array direkt an die Steuerung gesendet wird? Ich habe ein paar verschiedene Dinge ausprobiert, aber es sieht so aus, als ob der Controller die empfangenen Daten nicht zuordnen kann. Hier ist der Code bisher:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
Und dann sieht mein Controller so aus
public ActionResult GenerateList(List<string> values)
{
//do something
}
Alles, was ich bekommen habe, ist eine "Null" im Controller-Parameter ...
Irgendwelche Tipps?
Request["values[]"]