AJAX Post ASP.NET MVC 6 méthode d'action du Contrôleur et les paramètres sont nuls

J'ai un problème étrange avec ASP.NET MVC et l'envoi d'une requête AJAX post. J'ai une balise d'ancrage sur la page avec l'id 'lnkGetExpirDates'. Lorsque l'utilisateur clique dessus, je suis en train de simplement envoyer cette codé en dur des données sur mon contrôleur de sorte qu'il peut l'utiliser comme paramètres et retourner un résultat dans la page.

Toutefois, dans le contrôleur de la params sont toujours null/valeurs par défaut. Veuillez voir mon code ci-dessous et laissez-moi savoir si je suis prise d'une stupide erreur ou quelque chose.

Voici mon AJAX post:

$("#lnkGetExpirDates").click(function () {
    e.preventDefault();

    var data = {
        StartDate: "1/19/2016",
        EndDate: "4/19/2016",
        ProductType: "New",
        Count: 1
    };


    $.ajax({
        url: '/Products/GetExpirationDates',
        type: 'POST',
        data: JSON.stringify(data),
        contentType: 'application/json; charset=utf-8',
        dataType: 'html',
        success: function (data) {
            $('#ExpirationDates').val(data);
        }
    });

});

Voici mon contrôleur de la méthode d'action:

//POST: Product/GetExpirationDates
[HttpPost]
//[ValidateAntiForgeryToken]
public IActionResult GetExpirationDates(GetExpirationDatesViewModel vm)
{
    //TODO: Get expiration dates and return them in the response

    return View();
}

Ici est la GetExpirationDatesViewModel:

public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public string ProductType { get; set; }
public int Count { get; set; }

Veuillez noter que j'ai même essayé sans l'aide d'un modèle à tous et tout simplement l'ajout de paramètres à la Méthode d'Action, telles que la date de début, date de fin, type de produit, et le Comte et la encore tout est null.

InformationsquelleAutor Blake Rivell | 2016-02-16