bonsoir,

aujourd'hui j'essaie de faire passer un objet typé par la méthode Post de jquery.

mon model :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace myPortfolio.Areas.admin.Models
{
    public class SkillModel
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
    }
}
mon code jquery :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
var data = {
    pictures: [
        { Id: '67f64a95-45cc-40bb-ac81-6247e4105953', Url: '1.png', Main: false },
        { Id: '4841f169-1b5b-47cc-9f79-e31b71d67d12', Url: '2.png', Main: false },
        { Id: 'af3d3aea-5f6c-4c4d-93b5-bed09cbfb4fc', Url: '3.png', Main: false }
    ]
};
 
json = JSON.stringify(data);
 
$.post("/admin/ManageProject/SaveArticle/", json);
mon code asp.net :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
[ValidateInput(false)]
[AcceptVerbs(HttpVerbs.Post)]
[HttpPost]
public void SaveArticle(IList<PhotoModel> pictures)
{
    ...
}
grace a un point d'arret, je vois que mon paramètre "pictures" n'est pas détecté comme étant une liste, il ne contient aucune ligne, il est totallement null. c'est la première fois que je fais ça, j'ai lu pas mal de chose sur le net, et je pensais que ça allait se faire tout seul. apparemment il y a un binder par défaut O_o.

Où ai-je commis une erreur ?

merci