Le dictionnaire de paramètres contient une entrée null pour le paramètre 'appId' du type non-nullable 'System.Int32' pour la méthode 'System.Web.Mvc .ContentResult CheckForInstaller (Int32) 'dans' HLIT_TicketingMVC.Controllers.TicketController '. Un paramètre facultatif doit être un type de référence, un type Nullable ou être déclaré en tant que paramètre facultatif.
function SubmitAjax(url, message, successFunc, errorFunc) {
$.ajax({
type:'POST',
url:url,
data:message,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success:successFunc,
error:errorFunc
});
};
L'objet de données est construite comme suit:
var message={"appId":application.val()};
J'ai aussi essayé une chaîne jsonified:
var message="{'appId':"+application.val()+"}";
et
var message="{'appId':'"+application.val()+"'}";
Je validais que le message arrive avec un pr oper int valeur avant d'essayer de poster. La souris sur débogueur plus récemment montré: {appId="6"}
La signature de la méthode sur le contrôleur est:
public ContentResult CheckForInstaller(int appId)
Lorsque je supprime le paramètre de la signature de la méthode, il ne touche le point d'arrêt à l'intérieur, il est donc soit la signature besoin d'attributs d'une certaine sorte, ou le message n'est pas construit correctement, je crois.
obtenez-vous un résultat lorsque vous remplacez l'int par une chaîne: public ContentResult CheckForInstaller (String appId)? – Pbirkoff
Quel est cet objet d'application? Êtes-vous sûr que cela fonctionne comme prévu? –
@ çağdaş - oui quand je souris sur le résultat, cela montre la valeur que j'attends. @ Pbirkoff - Je n'ai pas essayé mais j'ai trouvé le problème, répondez ci-dessous accepté. – Maslow