Я пытаюсь получить некоторые данные (многомерный массив) для моего контроллера GET (для отображения в модальном/диалоговом окне) из списка (пользователь проверяет некоторые значения и затем отправляется на модальное/диалоговое окно, которое должно отображать выбранные значения):Array to mvc controller with ajax
$('input:checkbox').each(function() {
if ($(this).is(':checked')) {
var prop= [];
prop['Name'] = "TEST";
prop['Id'] = "123"
data.push(prop);
}
});
Когда я регистрирую эти данные, это выглядит нормально. Затем я использую это Аякса вызов:
$.ajax({
type: "GET",
url: url,
data: JSON.stringify({ data }),
contentType: "application/json; charset=utf-8",
success: function() {
alert("OK");
}
});
Я модель для использования данных в действии (и частичный вид):
public class MyClass
{
public string Name { get; set; }
public string Id { get; set; }
}
Это мое действие:
public ActionResult Merge(MyClass[] theData)
{
...
}
Но в действии 'theData' всегда равно null. Если я использую «POST» в ajax, вызвано действие POST, и я не хочу этого делать на этом шаге. Я хочу использовать действие POST после того, как пользователь внес некоторые изменения (например, изменение названия), а затем сохранит. Затем я делаю POST и сохраняю новые данные.
'MyClass [] theData' не является многомерным массивом. И это должно быть 'data: JSON.stringify ({theData: data}),' –
Так что я не могу использовать MyClass [] theData, или что вы имеете в виду? – Robin
Да, конечно, вы можете - просто использовать 'data: JSON.stringify ({theData: data}),' - мой комментарий в том, что 'MyClass []' - массив (не многомерный массив) –