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?

È stato utile?

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");.

Class

ActionResult pagina su MSDN ha la lista completa delle classi risultato e la metodi di supporto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top