57 votes

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

Dans mon ASP.NET Noyau (.NET Framework) de projet, j'obtiens l'erreur ci-dessus sur mon Contrôleur suivant une méthode d'Action. Ce que j'ai peut-être manquant? Ou, existe-il des solutions?:

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

Mise à JOUR:

Veuillez noter que suivant les commentaires de @NateBarbettini ci-dessous:

  1. JsonRequestBehavior a été dépréciée dans les ASP.NET Core 1.0.
  2. En réponse acceptée à partir de @Miguel ci-dessous, l' return type de méthode d'action, does not spécialement besoin d'être de type JsonResult. ActionResult ou IActionResult travaille trop.

54voto

Miguel Torres C Points 311

Retour 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);
    }
}
 

3voto

Ali Points 244

Parfois, vous devez renvoyer un message dans json, utilisez simplement le résultat json comme ci-dessous, plus besoin de jsonrequestbehavior, sous un 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 });
        }
    }
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X