मेरे एएसपी.नेट 5 एमवीसी 6 एप्लिकेशन में, मैं अपने नियंत्रक को कुछ डेटा अजाक्स के साथ पोस्ट करना चाहता हूं। मैंने पहले से ही एएसपी.नेट एमवीसी 5 के साथ ऐसा किया है और मैंने रिक्त एएसपी.नेट एमवीसी 5 प्रोजेक्ट में सटीक उसी कोड का परीक्षण किया है और यह काम करता है, लेकिन नए संस्करण के साथ मैं नहीं कर सकता और मुझे नहीं पता कि क्यों। अजाक्स कॉल के साथ, मैं नियंत्रक के पास जा सकता हूं, मॉडल बनाया गया है लेकिन फ़ील्ड शून्य हैं (या बुलियन के लिए झूठी)।एएसपी.नेट 5/एमवीसी 6 अजाक्स पोस्ट नियंत्रक को मॉडल
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; }
}
कोई भी विचार यहाँ मेरी कोड है? धन्यवाद
सफलता के बजाय '.done' के साथ प्रयास किया? – naveen
यह समस्या नहीं है। मैं सफलतापूर्वक नियंत्रक के पास जाता हूं, लेकिन मेरे मॉडल के अंदर के मैदान शून्य हैं। –
आपका डीटीओ सही लगता है। हमम – naveen