Я знаю, что раньше об этом спрашивали в аналогичной форме, но я столкнулся с небольшой проблемой ...
У меня есть классическая проблема, связанная с попыткой передать сложный тип json в MVC2.
Проблема (см. Код ниже): я могу передать значение «subincidentID» контроллеру, но значения «CodeType», «MOCode» и «SubCode» имеют значение NULL.
Я установил будущее MVC2 и зарегистрировал «Microsoft.Web.MVC» в global.asax.cs и объявил JsonValueProviderFactory.
Бит JQuery:
$('#btnDone').click(function() {
var entity = {};
var dbCode = new Array();
dbCode[0] = { CodeType: "1", MoCode: "13", SubCode: "12" };
entity = { subincidentID: "1", codeData: dbCode };
$.ajax({
type: 'POST',
data: entity,
dataType: 'json',
async: false,
url: "/controller/SaveMOData",
success: function(result) {
alert('success!');
}
}); //end of post
}); //end of btnDone click function
Контроллер в MVC:
[HttpPost]
public JsonResult SaveMOData(MOSubMitModel mo)
{
if (ModelState.IsValid)
{
}
return Json(new { success = "true" });
}
Класс модели в MVC (2):
public class MOSubMitModel
{
public int subIncidentID { get; set; }
public List<dbCode> codeData { get; set; }
}
public class dbCode
{
public string CodeType { get; set; }
public string subCode { get; set; }
public string MoCode { get; set; }
}
Я что-то здесь упустил?
Должен ли я объявить какое-либо пространство имен на странице контроллера?
Я уверен, что это небольшая проблема, но я целый день ломал голову об этом ....: - (..
Спасибо заранее.
У. Лам