Salut à tous, j ai un problème dans l'envoie d'un objet Json constitué d'un autre objet Json , je récupère cette objet dans le controlleur mé j ai une exception "l' objet est null", voici le code :

code jQuery:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 function getDetails(s) {
 
     var persmod = {
          id: s, aa: { idadr: s }
      };
  $.ajax({
        $.ajax({
          type: "POST",
          url: "PerDetails",
          data: JSON.stringify(persmod),
          contentType: "application/json",
          dataType: "json",
          success: function (msg) {
 
             alert("Data:"+msg.nom+" "+msg.prenom,activite=sa.secteur_activ);
          }
 
     });
code controlleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
[JsonFilter(Param = "prM", JsonDataType = typeof(PersonModel))]
       public JsonResult PerDetails(PersonModel prM)
      {
          Personne per = new Personne();
          secteurActivite sa = new secteurActivite();
 
          per = perRep.getPersonne(prM.id);
         sa = actRep.getActivite(prM.adm.idadr); 
 
          var data = new { nom=per.Nom, prenom=per.Prenom,activite=sa.secteur_activ};
          return Json(data, JsonRequestBehavior.AllowGet);
 
      }
les classes sérialisées:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 [Serializable]
        public class PersonModel
        {
           public int id { get; set; }
           public AdressModel adm { get; set; }
        }
 [Serializable]
    public class AdressModel
    {
        public int idadr { get; set; }
    }
le filtre Json :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 public class JsonFilter : ActionFilterAttribute
    {
        public string Param { get; set; }
        public Type JsonDataType { get; set; }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
            {
                string inputContent;
                using (var sr = new StreamReader(filterContext.HttpContext.Request.InputStream))
                {
                    inputContent = sr.ReadToEnd();
                }
                var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
                filterContext.ActionParameters[Param] = result;
            }
        }
    }
Est ce que je peux récupérer un objet personne qui contient déjà un objet adresse ( un objet complexe)
et merci en avance