web-dev-qa-db-fra.com

ASP.NET Core - Le nom 'JsonRequestBehavior' n'existe pas dans le contexte actuel

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:

  1. JsonRequestBehavior est obsolète dans ASP.NET Core 1.0.
  2. Dans la réponse acceptée de @Miguel ci-dessous, le return type de la méthode d'action does not doit spécifiquement être de type JsonResult. ActionResult ou IActionResult fonctionne également.
29
nam

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);
    }
}
29
Miguel Torres C

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 });
        }
    }
1
Ali