Я пытаюсь отправить сложный объект из представления в контроллер. Этот объект состоит из объектов из таблицы html. Когда я вызываю контроллер с помощью вызова AJAX, список объекта всегда равен нулю. Я не знаю, что не так, потому что я проверил другой код на inte rnet, и я не вижу никакой разницы, но что-то должно быть. Заранее спасибо.
Модель
public class Parameter
{
public string Name { get; set; }
public string ControlType { get; set; }
public string ToolTip { get; set; }
public List<string> CheckedControl { get; set; }
public int GroupID { get; set; }
public int CtrIndex { get; set; }
public List<string> DdItems { get; set; }
public List<string> LangList { get; set; }
public List<string> DdMulti { get; set; }
}
Javascript и ajax
function ajaxSubmit() {
var table_parameters = [[],[]];
table_parameters = getSchemaTableData();
var projectName = document.getElementById('txtProjectName').value;
var projectID = document.getElementById('txtProjectID').value;
jQuery.ajax({
type: "POST",
url: "@Url.Action("ControlsCreation", "Projects")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ Parameters: table_parameters, ProjectName: projectName, ProjectID: projectID }),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}
и контроллер
public JsonResult ControlsCreation(List<Models.Parameter> Parameters, string ProjectName, string ProjectID)
{
if (Session["UserID"] == null) return Json("Home/Index");
string userID = Session["UserID"] as string;
var mngService = new DBManager(ConfigurationManager.ConnectionStrings["Bugmania2019"].ConnectionString);
DBLogic dbAccess = new DBLogic(mngService);
ViewModels.ParametersTable viewModel = new ViewModels.ParametersTable()
{
ParametersCollection = Parameters,
ProjectName = ProjectName,
ProjectID = ProjectID
};
dbAccess.UpdateControls(viewModel);
return Json("Success!");
}
У меня есть модифицировал контроллер, вид и модель. Буду признателен за любую помощь. спасибо