Я работаю над веб-страницей, где пользователь создает свои матрицы, вставляет двойные числа в каждую ячейку, вводит уравнение и нажимает кнопку «Рассчитать», чтобы получить результат.
Проблема возникает, когда я пытаюсь отправить матрицы на контроллер с помощью ajax.
Тип словаря
Dictionary<char, double[,]> matrices
Словарь Javascript
Инициализация словаря:
var matricesDictionary = {};
Инициализация двумерного массива:
var matrixContent = new Array(matrix.width);
for (var c = 0; c < matrix.width; c++)
matrixContent[c] = new Array(matrix.height);
Заполнение двумерного массива:
$('#' + matrix.name + " input").each(function () {
var values = $(this).attr('id').split('-');
var line = values[0];
var column = values[1];
matrixContent[line][column] = parseFloat($(this).val());
});
Добавление нового элемента в словарь:
matricesDictionary[matrix.name] = matrixContent;
Содержимое матрицы «а» 12x12
Содержимое словаря матриц
Ajax Request
$.ajax({
url: '/Matrix/Matrix',
type: "POST",
data: { matrices: matricesDictionary, exp: exp },
});
Параметры контроллера
public IActionResult Matrix(Dictionary<char, double[,]> matrices, string exp)
Запрос получен контроллером, переменная "exp" имеет правильные значения, а в словаре есть ключи, но их содержимое равно нулю.
Исключение NullReferenceException