asp.net-mvc
ActionResult
Suche…
Syntax
// ActionResult-Methode gibt eine Instanz zurück, die von ActionResult abgeleitet ist. Sie können eine Aktionsmethode erstellen, die jede Instanz zurückgeben kann, die in den entsprechenden ActionResult-Typ eingeschlossen ist.
// Integrierte ActionResult-Rückgabetypen sind:
Aussicht(); // ViewResult stellt eine Ansicht als WebPage dar
Teilansicht(); // PartialViewResult stellt eine Teilansicht dar, die als Teil einer anderen Ansicht verwendet werden kann.
Umleiten(); // RedirectResult leitet mithilfe seiner URL zu einer anderen Aktionsmethode um.
RediectToAction (); RedirectToRoute (); // RedirectToRouteResult leitet zu einer anderen Aktionsmethode um.
Inhalt(); // ContentResult gibt einen benutzerdefinierten Inhaltstyp zurück.
Json (); // JsonResult gibt ein serialisiertes JSON-Objekt zurück.
JavaScript (); // JavaScriptResult gibt ein Skript zurück, das auf Clientseite ausgeführt werden kann.
Datei(); // FileResult gibt eine binäre Ausgabe zurück, um in die Antwort zu schreiben.
// EmptResult stellt einen Rückgabewert dar, der verwendet wird, wenn die Aktionsmethode ein Nullergebnis zurückgeben muss.
Aktionsmethoden
Wenn der Benutzer beispielsweise eine URL eingibt: http://example-website.com/Example/HelloWorld , verwendet die MVC-Anwendung die Routing-Regeln, um diese URL zu analysieren und den Unterpfad zu extrahieren, der Controller, Aktion und mögliche Parameter bestimmt. Für die obige URL ist das Ergebnis / Example / HelloWorld. Standardmäßig werden die Routing-Regelergebnisse mit dem Namen des Controllers angegeben: Beispiel und der Name der Aktion: HelloWorld.
public class ExampleController: Controller
{
public ActionResult HelloWorld()
{
ViewData["ExampleData"] = "Hello world!";
return View();
}
}
Die oben genannte ActionResult-Methode "HelloWorld" rendert die Ansicht "HelloWorld", in der wir die Daten von ViewData verwenden können.
Action-Method-Parameter zuordnen
Wenn die URL einen anderen Wert enthält, wie: / Example / ProcessInput / 2, bedrohen die Routing-Regeln die letzte Zahl als Parameter, der an die Aktion ProcessInput von Controller Example übergeben wird.
public ActionResult ProcessInput(int number)
{
ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
return View();
}
Ein ActionResult in einem anderen ActionResult aufrufen
Wir können ein Aktionsergebnis in einem anderen Aktionsergebnis aufrufen.
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;
}