asp.net-mvc
ActionResult
Ricerca…
Sintassi
// Il metodo ActionResult restituisce un'istanza che deriva da ActionResult. È possibile creare un metodo di azione che possa restituire qualsiasi istanza racchiusa nel tipo ActionResult appropriato.
// I tipi di ritorno ActionResult incorporati sono:
Vista(); // ViewResult esegue il rendering di una vista come pagina Web
PartialView (); // PartialViewResult esegue il rendering di una vista parziale, che può essere utilizzata come parte di un'altra vista.
Reindirizzare(); // RedirectResult reindirizza a un altro metodo di azione utilizzando il relativo URL.
RediectToAction (); RedirectToRoute (); // RedirectToRouteResult reindirizza a un altro metodo di azione.
Soddisfare(); // ContentResult restituisce un tipo di contenuto definito dall'utente.
JSON (); // JsonResult restituisce un oggetto JSON serializzato.
JavaScript (); // JavaScriptResult restituisce uno script che può essere eseguito sul lato client.
File(); // FileResult restituisce un output binario per scrivere sulla risposta.
// EmptResult rappresenta un valore di ritorno che viene utilizzato se il metodo action deve restituire un risultato nullo.
Metodi d'azione
Quando l'utente inserisce un URL, ad esempio: http://example-website.com/Example/HelloWorld , l'applicazione MVC utilizzerà le regole di routing per analizzare questo URL ed estrarre il sottotracciato, che determinerà il controller, l'azione e i possibili parametri. Per l'url precedente, il risultato sarà / Example / HelloWorld, che per impostazione predefinita i risultati delle regole di routing fornisce il nome del controller: Exmaple e il nome dell'azione: HelloWorld.
public class ExampleController: Controller
{
public ActionResult HelloWorld()
{
ViewData["ExampleData"] = "Hello world!";
return View();
}
}
Il metodo ActionResult di cui sopra "HelloWorld" renderizzerà la vista chiamata HelloWorld, dove possiamo quindi utilizzare i dati di ViewData.
Mappatura dei parametri del metodo di azione
Se ci fosse un altro valore nell'URL come: / Example / ProcessInput / 2, le regole di routing minacceranno l'ultimo numero come parametro passato nell'azione ProcessInput del controller Example.
public ActionResult ProcessInput(int number)
{
ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
return View();
}
Chiamare un'azioneRisultare in un'altra azioneRisultato
Possiamo chiamare un risultato di un'azione in un altro risultato di azione.
public ActionResult Action1()
{
ViewData["OutputMessage"] = "Hello World";
return RedirectToAction("Action2","ControllerName");
//this will go to second action;
}
public ActionResult Action2()
{
return View();
//this will go to Action2.cshtml as default;
}