Estoy creando una pequeña aplicación para enseñarme ASP.NET MVC y JQuery, y una de las páginas es una lista de elementos en los que se pueden seleccionar algunos. Luego me gustaría presionar un botón y enviar una Lista (o algo equivalente) a mi controlador que contenga los identificadores de los elementos seleccionados, utilizando la función Publicar de JQuery.
Logré obtener una matriz con los identificadores de los elementos que fueron seleccionados, y ahora quiero publicar eso. Una forma de hacerlo es tener un formulario ficticio en mi página, con un valor oculto, y luego establecer el valor oculto con los elementos seleccionados y publicar ese formulario; Sin embargo, esto se ve mal.
¿Hay una forma más limpia de lograr esto, enviando la matriz directamente al controlador? He intentado algunas cosas diferentes, pero parece que el controlador no puede asignar los datos que está recibiendo. Aquí está el código hasta ahora:
function generateList(selectedValues) {
var s = {
values: selectedValues //selectedValues is an array of string
};
$.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json");
}
Y entonces mi controlador se ve así
public ActionResult GenerateList(List<string> values)
{
//do something
}
Todo lo que pude obtener es un "nulo" en el parámetro del controlador ...
¿Algun consejo?
Request["values[]"]