JsonResult retour Json dans ASP.NET de BASE 2.1
Contrôleur qui ont travaillé dans ASP.NET Core 2.0:
[Produces("application/json")]
[Route("api/[controller]")]
[ApiController]
public class GraficResourcesApiController : ControllerBase
{
private readonly ApplicationDbContext _context;
public GraficResourcesApiController(ApplicationDbContext context)
{
_context = context;
}
[HttpGet]
public JsonResult GetGrafic(int ResourceId)
{
var sheduling = new List<Sheduling>();
var events = from e in _context.Grafic.Where(c=>c.ResourceId == ResourceId)
select new
{
id = e.Id,
title = e.Personals.Name,
start = e.DateStart,
end = e.DateStop,
color = e.Personals.Color,
personalId = e.PersonalId,
description = e.ClientName
};
var rows = events.ToArray();
return Json(rows);
}
}
dans ASP.NET de Base 2.1
return Json (rows);
écrit que Json n'existe pas dans le contexte actuel. Si on enlève Json en laissant simplement
return rows;
écrit alors qu'il n'était pas possible de convertir explicitement le type de Liste () pour JsonResult
Comment faire pour convertir en Json maintenant?
Vous devez vous connecter pour publier un commentaire.
Dans asp.net-de base-2.1
ControllerBase
ne dispose pas d'unJson(Object)
méthode. CependantController
n'.Donc, soit refactoriser le régulateur de courant pour être dérivée à partir de
Controller
d'avoir accès à la
Contrôleur.Json
Méthode ou vous pouvez initialiser une nouvelleJsonResult
- vous dans l'actionqui est essentiellement ce que la méthode n'en interne dans
Controller
Source
Don't create a web API controller by deriving from the Controller class. Controller derives from ControllerBase and adds support for views, so it's for handling web pages, not web API requests. There's an exception to this rule: if you plan to use the same controller for both views and APIs, derive it from Controller.