Dans mon projet ASP.NET Core (.NET Framework), l'erreur ci-dessus apparaît sur ma méthode d'action de contrôleur suivante. Qu'est-ce que je peux manquer? Ou, y a-t-il des solutions de travail ?:
public class ClientController : Controller
{
public ActionResult CountryLookup()
{
var countries = new List<SearchTypeAheadEntity>
{
new SearchTypeAheadEntity {ShortCode = "US", Name = "United States"},
new SearchTypeAheadEntity {ShortCode = "CA", Name = "Canada}
};
return Json(countries, JsonRequestBehavior.AllowGet);
}
}
METTRE &AGRAVE; JOUR:
Veuillez noter les commentaires suivants de @NateBarbettini ci-dessous:
JsonRequestBehavior
est obsolète dans ASP.NET Core 1.0.return type
de la méthode d'action does not
doit spécifiquement être de type JsonResult. ActionResult ou IActionResult fonctionne également.Renvoi de données au format Json:
public class ClientController : Controller
{
public JsonResult CountryLookup()
{
var countries = new List<SearchTypeAheadEntity>
{
new SearchTypeAheadEntity {ShortCode = "US", Name = "United States"},
new SearchTypeAheadEntity {ShortCode = "CA", Name = "Canada}
};
return Json(countries);
}
}
parfois vous devez renvoyer un message dans json, utilisez simplement le résultat json comme ci-dessous, plus besoin de jsonrequestbehavior, sous le code simple à utiliser
public ActionResult DeleteSelected([FromBody]List<string> ids)
{
try
{
if (ids != null && ids.Count > 0)
{
foreach (var id in ids)
{
bool done = new tblCodesVM().Delete(Convert.ToInt32(id));
}
return Json(new { success = true, responseText = "Deleted Scussefully" });
}
return Json(new { success = false, responseText = "Nothing Selected" });
}
catch (Exception dex)
{
return Json(new { success = false, responseText = dex.Message });
}
}