asp.net-mvc
ActionResult
Recherche…
Syntaxe
// La méthode ActionResult renvoie une instance dérivée de ActionResult. Vous êtes en mesure de créer une méthode d'action pouvant renvoyer toute instance encapsulée dans le type ActionResult approprié.
// Les types de retour ActionResult intégrés sont:
Vue(); // ViewResult rend une vue en tant que page Web
Vue partielle(); // PartialViewResult rend une vue partielle, qui peut être utilisée dans le cadre d'une autre vue.
Réorienter(); // RedirectResult redirige vers une autre méthode d'action en utilisant son URL.
RediectToAction (); RedirectToRoute (); // RedirectToRouteResult redirige vers une autre méthode d'action.
Contenu(); // ContentResult renvoie un type de contenu défini par l'utilisateur.
Json (); // JsonResult renvoie un objet JSON sérialisé.
JavaScript (); // JavaScriptResult renvoie un script pouvant être exécuté côté client.
Fichier(); // FileResult renvoie une sortie binaire à écrire dans la réponse.
// EmptResult représente une valeur de retour utilisée si la méthode d'action doit renvoyer un résultat nul.
Méthodes d'action
Lorsque l'utilisateur entre une URL, par exemple: http://example-website.com/Example/HelloWorld , l'application MVC utilisera les règles de routage pour analyser cette URL et extraire le sous-chemin qui déterminera le contrôleur, l'action et les paramètres possibles. Pour l'URL ci-dessus, le résultat sera / Example / HelloWorld, qui, par défaut, donne les résultats des règles de routage, fournit le nom du contrôleur: Exmaple et le nom de l'action: HelloWorld.
public class ExampleController: Controller
{
public ActionResult HelloWorld()
{
ViewData["ExampleData"] = "Hello world!";
return View();
}
}
La méthode ActionResult ci-dessus "HelloWorld" rendra la vue appelée HelloWorld, où nous pourrons alors utiliser les données de ViewData.
Mappage des paramètres de la méthode d'action
S'il y avait une autre valeur dans l'URL comme: / Example / ProcessInput / 2, les règles de routage menaceraient le dernier nombre en tant que paramètre passé dans l'action ProcessInput de l'exemple de contrôleur.
public ActionResult ProcessInput(int number)
{
ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
return View();
}
Appel d'une actionResult dans une autre actionResult
Nous pouvons appeler un résultat d'action dans un autre résultat d'action.
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;
}