Я пытаюсь разобрать простой массив направляющих / строк в json, json используется в качестве параметра при последующем вызове моего контроллера.
Я пробовал много разных вещей, но я просто не могузаставить метод контроллера видеть мой список.
Массив построен из значений флажков:
$('input:checkbox').click(function () {
if ($(this).attr("checked") == true) {
selected.push($(this).val());
}
});
и выглядит хорошо.затем я пытаюсь преобразовать его в JSON
$(document).ready(function () {
$('#Summarize').click(function () {
var arrayJson = {};
for (i in selected) {
arrayJson[i] = selected[i];
}
var json = {
SelectedQuantities: arrayJson
};
$.ajax({
url: "/MVC/Physical/SelectQuantities/@Model.TopID",
type: "POST",
data: JSON.stringify(json),
dataType: "json",
contentType: 'application/json',
success: function (result) {
debugger;
if (result.status == 200)
location.replace = "/MVC/Physical/QuantitySummaryView/@Model.TopID"
else {
//Handle error
}
}
});
});
});
Мой метод контроллера выглядит следующим образом:
public ActionResult QuantitySummaryView(Guid id, List<String> SelectedQuantities)
Но список всегда нулевой.Я подумал, что это потому, что список JSON не содержит массив GUID непосредственно под ним.
Можете ли вы помочь мне подтолкнуть его на месте?
JSON (как видно из инструментов Chromes dev) выглядит следующим образом:
{
"SelectedQuantities": {
"0": "707c40bd-4434-41ed-80fd-4ac541a81e85",
"1": "a8d78a4b-b107-4e1c-97b5-5d8abf530ba8",
"2": "a19226cc-9b22-4174-97e3-bb003d4b2746"
}
}