Salut,

J'espère que c'est là qu'il faut poster car ça concerne : Ajax, AngularJS et ASP.net MVC 5 Web Api 2.0 et HttpPost.

Je vous passe les détails mais en gros :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
//Je crée un objet
var offre = { Id: -1, UserId: null, Title: $scope.what, Description: ""};
//Je le poste avec AngularJS
$http.post("api/HonApi/PostIt", offer).then(onPostOfferSuccess, onPostOfferFailed);
En step by step, je vois que l'objet offer contient bien les données que je veux.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
        [HttpPost]
        public HttpResponseMessage PostIt(Offer offer)
        {
            HttpResponseMessage toReturn = new HttpResponseMessage(HttpStatusCode.OK);
            // En mettant le point d'arrêt ici
            return toReturn;
        }
Côté c# j'ai bien une instance de offer mais chacun de ses membres est vide, j'ai vérifié avec fiddler, la trame partant du navigateur contient bien les données.

Vous comprenez pourquoi ?

Merci


[EDIT]
Salut,

J'ai ajouté un intercepteur dans le httpbeginrequest, je reçois bien les données.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
        protected void Application_BeginRequest(object sender,EventArgs e)
        {
            Byte[] inputBytes = new Byte[HttpContext.Current.Request.InputStream.Length];
 
            HttpContext.Current.Request.InputStream.Position = 0;
            HttpContext.Current.Request.InputStream.Read(inputBytes, 0, inputBytes.Length);
 
            string requestString = ASCIIEncoding.ASCII.GetString(inputBytes);
        }
Donc, le souci ne se trouve pas entre la chaise et le clavier mais bien à l'intérieur d'MVC.

Un peu d'aide serait la bienvenue...

Merci