J'essaie d'envoyer un objet créé en JavaScript à une méthode de page ASP.NET. Cet objet reflète les propriétés d'un objet métier personnalisé existant. J'espérais donc pouvoir transmettre un seul objet au lieu d'un paramètre pour chaque propriété. Je reçois une erreur « méthode web inconnue savepart lors d'une tentative d'utiliser cette méthodeEnvoi d'un objet complexe en tant que paramètre à Asp.Net PageMethod
Javascript.
function() {
var pt = { Id: 1, Onhand: 20, LowPoint: 30, __type: 'Custom.Objects.Part'};
$.ajax({
type: 'POST',
url: 'partlist.aspx/SavePart',
data: JSON.stringify(pt),
contentType: 'application/json; charset: utf-8;'
dataType: 'json',
success: function(results) { alert('Success!'); }
});
}
code Derrière:
<WebMethod()> _
Public Shared Function SavePart(pt as Custom.Objects.Part) as Boolean
Dim repo as new PartRepository()
return repo.Save(pt)
End Function
J'utilise une autre PageMethod qui accepte juste un int
Ah ... ça a du sens. Le simple envoi de pt a probablement amené le désérialiseur à tenter de passer chaque propriété de l'objet à la méthode web en tant que paramètres séparés. –