ASP.NET 5 / MVC 6 Ajax-Post-Modell zum Controller
In meiner ASP.NET 5 MVC 6-Anwendung möchte ich mit Ajax einige Daten auf meinem Controller bereitstellen. Ich habe dies bereits mit ASP.NET MVC 5 getan und genau denselben Code in einem leeren ASP.NET MVC 5-Projekt getestet, und es hat funktioniert, aber mit der neuen Version kann ich nicht und ich weiß nicht warum. Mit dem Ajax-Aufruf kann ich zum Controller gehen, das Modell wird erstellt, aber die Felder sind null (oder falsch für den Booleschen Wert). Hier ist mein Code:
script.js:
var data = {
model: {
UserName: 'Test',
Password: 'Test',
RememberMe: true
}
};
$.ajax({
type: "POST",
url: "/Account/Login/",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
// Do something interesting here.
}
});
AccountController.cs:
[HttpPost]
public JsonResult Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
//var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
//if (result.Succeeded)
//{
// //return RedirectToLocal(returnUrl);
//}
ModelState.AddModelError("", "Identifiant ou mot de passe invalide");
return Json("error-model-wrong");
}
// If we got this far, something failed, redisplay form
return Json("error-mode-not-valid");
}
LoginViewModel.cs:
public class LoginViewModel
{
[Required]
[Display(Name = "UserName")]
[EmailAddress]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
Irgendwelche Ideen ? Vielen Dan