2014-04-18 2 views
1

나는이 구조Ajax를 얻을 모델 속성은 그렇게 보이는

public class VariantsByAgeFilterViewModel 
{ 
    public string Variant { get; set; } 
    public AgeGroup agegroup1 { get; set; }     
} 

public class AgeGroup 
{ 
    public int? AgeFrom { get; set; } 
    public int? AgeTo { get; set; } 
} 

사용 아약스 호출

$.ajax({ 
     url: $('.chart-container').data('chart-url'), 
     type: 'GET', 
     data: { chart: $("#chart").val() }, 
     dataType: 'JSON', 
     success: function (result) { 

     } 
    }); 

차트 URL과 모델이 비어

[HttpGet] 
public virtual JsonResult VariantByAgeGroupResult_Chart(VariantsByAgeFilterViewModel filterModel, VariantByMaleFemaleCharts chart, VariantsByMaleFemaleResultViewModel viewModel) { 

    ChartDataModel model = new ChartDataModel(); 
    var agefrom = filterModel.agegroup1.AgeFrom ; 

    return Json(new { data = model }, JsonRequestBehavior.AllowGet); 
} 

ajax가 컨트롤러 조치를 호출하고 모델 매개 변수를 설정할 때 agegroup1 특성은 null이지만 모델에는 값이 있습니다. 아약스 호출 중에는 Variant에 값이 있습니다.

+0

게시 하시길 바랍니다. –

답변

1

난 당신이

public class VariantsByAgeFilterViewModel 
{ 
    public string Variant { get; set; } 
    public int? AgeFrom { get; set; } 
    public int? AgeTo { get; set; }     
} 

내부적으로 AddRouteValues ​​같은 평면 하나에 모델을 리팩토링 경우이 작동 확신 객체를 구문 분석 RouteValueDictionary를 사용합니다. 그리고 지금까지는 중첩 된 유형 및 배열의 ​​바인딩을 해제하는 것이 좋지 않다는 것을 기억합니다.

희망이 있습니다.

관련 문제