보기에서 아약스를 통해 내 컨트롤러로 데이터 (json)를 전달하려고 시도했지만 null이 도착했습니다. 사전에 도움이나 제안을 보내 주셔서 감사합니다.JSON을 컨트롤러 MVC3에 전달합니다.
이것은 내 모델입니다.
public class TipificacionModel
{
public int Existente { get; set; }
public string Campo { get; set; }
public int Regla { get; set; }
}
public class ListasSeleccionModel{
public List<string> DatosSeleccion { get; set; }
}
public class ListaTipificaciones
{
public string NombreCampaña { get; set; }
public List<TipificacionModel> Tipificacion { get; set; }
}
public class DatosSeleccionMultiple
{
public List<String> Columnas { get; set; }
public List<ListasSeleccionModel> ListasSeleccion { get; set; }
}
public class TipificacionGeneralCampaña
{
public ListaTipificaciones CamposCreados { get; set; }
public List<DatosSeleccionMultiple> ListasDeSeleccion { get; set; }
}
이것은 내 아약스 기능입니다.
jsonListaGeneral = [];
jsonListaGeneral.push(jsonTipificacion);
jsonListaGeneral.push(jsonListasSeleccion);
console.log(jsonListaGeneral);
$.ajax({
url: '@Url.Action("crearCampManual", "DPS")',
type: 'post',
data: JSON.stringify(jsonListaGeneral),
contentType: 'application/json; charset=utf-8;',
dataType: 'json',
success: function (response) {
alert(response)
return;
},
error: function (x) {
alert(x.responseText);
}
});
이것은 내 컨트롤러입니다.
[HttpPost]
public ActionResult crearCampManual(TipificacionGeneralCampaña model)
{ //Here the model value is null, why?}
내 브라우저 콘솔에서 json을 인쇄 할 때 모든 것이 좋습니다. 그러나 뭔가 나쁜 일이 생기고, 뭔가 잘못된 일이 생깁니다.
jsonListaGeneral = [];
하지만 당신의 C#을 모델 배열이 아닌 나 :
JSON.stringify은 그래서 당신은 당신 컨트롤러 메소드 내로 문자열을 보내는 .... 문자열에서 자바 스크립트 JSON 텍스트에 객체 저장 JSON 텍스트를 회전 ...은'JSON.stringify'을 제거하려고 – Hackerman
ajax 호출을 통해 전달할 데이터의 구조를 추가 할 수 있습니까? 내 JSON 개체의 속성 이름이 내 C# 모델의 속성 이름과 일치하지 않는 경우이 문제가 자주 발생합니다. –
@Hackerman stringify Ajax를 삭제 해 주셔서 감사합니다. 내 컨트롤러를 찾았습니다. 브라우저 콘솔에 500 오류가 있습니다. –