Quali sono tutti i risultati ASP.Net MVC di azione?
-
18-09-2019 - |
Domanda
C'è un elenco di tutti i risultati di azione ASP.Net MVC e il loro utilizzo?
Ho alacremente usando ActionResult per quasi tutto, ma io so che non è corretto e che dovrebbe essere utilizzando i risultati di azione più specifici.
Googled questo, ma non riesco a trovare un elenco. Abbiamo appena comprato il libro Wrox ma è più di una settimana di distanza dal parto e mi piacerebbe leggere su questo ben prima di allora.
Si può anche rotolare il proprio e che è documentato da qualche parte?
Soluzione
Se si System.Web.Mvc
aperta utilizzando Riflettore , si vedrà che ci sono diversi derivati tipi che ereditano dalla classe ActionResult astratta. Essi sono:
System.Web.Mvc.ContentResult
System.Web.Mvc.EmptyResult
System.Web.Mvc.FileResult
System.Web.Mvc.FileContentResult
System.Web.Mvc.FilePathResult
System.Web.Mvc.FileStreamResult
System.Web.Mvc.HttpUnauthorizedResult
System.Web.Mvc.JavaScriptResult
System.Web.Mvc.JsonResult
System.Web.Mvc.RedirectResult
System.Web.Mvc.RedirectToRouteResult
System.Web.Mvc.ViewResultBase
System.Web.Mvc.PartialViewResult
System.Web.Mvc.ViewResult
Sì, si può rotolare il proprio ereditando dalla classe ActionResult astratta. Si può studiare una o più delle ActionResults nella lista di cui sopra con il riflettore per avere un'idea di come questo possa essere fatto.
Il codice sorgente è disponibile anche qui:
http://aspnet.codeplex.com/Release/ProjectReleases.aspx? ReleaseId = 24471
Altri suggerimenti
Se stai cercando questo per ASP.NET MVC 5, aggiungi HttpStatusCodeResult alla lista.
Inoltre vale la pena di ricordare che i metodi di supporto che restituiscono il risultato azione corrispondente, non hanno la parola "Risultato" alla fine. Ad esempio, per restituire un HttpNotFoundResult , si scriverà tornare HttpNotFound ( "Descrizione Stato");.
ClassActionResult pagina su MSDN ha la lista completa delle classi risultato e la metodi di supporto.