asp.net-mvc
ActionResult
Zoeken…
Syntaxis
// ActionResult-methode retourneert een exemplaar dat is afgeleid van ActionResult. U kunt een actiemethode maken die elke instantie kan retourneren die is ingepakt in het juiste ActionResult-type.
// Ingebouwde ActionResult-retourtypen zijn:
Visie(); // ViewResult geeft een weergave weer als een webpagina
PartialView (); // PartialViewResult geeft een gedeeltelijke weergave weer, die kan worden gebruikt als onderdeel van een andere weergave.
Redirect (); // RedirectResult verwijst door naar een andere actiemethode met behulp van de URL.
RediectToAction (); RedirectToRoute (); // RedirectToRouteResult verwijst door naar een andere actiemethode.
Inhoud(); // ContentResult retourneert een door de gebruiker gedefinieerd inhoudstype.
Json (); // JsonResult retourneert een geserialiseerd JSON-object.
JavaScript (); // JavaScriptResult retourneert een script dat aan clientzijde kan worden uitgevoerd.
Het dossier(); // FileResult retourneert een binaire uitvoer om naar de respons te schrijven.
// EmptResult vertegenwoordigt een retourwaarde die wordt gebruikt als de actiemethode een nulresultaat moet retourneren.
Actiemethoden
Wanneer de gebruiker een URL invoert, bijvoorbeeld: http://example-website.com/Example/HelloWorld , gebruikt de MVC-toepassing de routeringsregels om deze URL te parseren en het subpad te extraheren, dat de controller, actie en mogelijke parameters bepaalt. Voor de bovenstaande URL is het resultaat / Voorbeeld / HelloWorld, wat standaard resultaten van routingregels de naam van de controller oplevert: Voorbeeld en de naam van de actie: HelloWorld.
public class ExampleController: Controller
{
public ActionResult HelloWorld()
{
ViewData["ExampleData"] = "Hello world!";
return View();
}
}
De bovenstaande ActionResult-methode "HelloWorld" geeft de weergave met de naam HelloWorld weer, waar we vervolgens de gegevens van ViewData kunnen gebruiken.
Parameters van actiemethoden in kaart brengen
Als er een andere waarde in de URL zou zijn, zoals: / Voorbeeld / ProcessInput / 2, bedreigen de routeringsregels het laatste nummer als een parameter die wordt doorgegeven aan de actie ProcessInput van Controller Voorbeeld.
public ActionResult ProcessInput(int number)
{
ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
return View();
}
Een actieresultaat aanroepen in een ander actieresultaat
We kunnen een actieresultaat een ander actieresultaat noemen.
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;
}