asp.net-mvc
ActionResult
Sök…
Syntax
// ActionResult-metoden returnerar en instans som härrör från ActionResult. Du kan skapa en handlingsmetod som kan returnera alla instanser som är inslagna i lämplig ActionResult-typ.
// Inbyggda ActionResult-returtyper är:
Se(); // ViewResult visar en vy som en webbsida
PartialView (); // PartialViewResult ger en delvis vy som kan användas som en del av en annan vy.
Dirigera om(); // RedirectResult omdirigerar till en annan åtgärdsmetod med sin URL.
RediectToAction (); RedirectToRoute (); // RedirectToRouteResult omdirigerar till en annan åtgärdsmetod.
Innehåll(); // ContentResult returnerar en användardefinierad innehållstyp.
Json (); // JsonResult returnerar ett serialiserat JSON-objekt.
JavaScript (); // JavaScriptResult returnerar ett skript som kan köras på klientsidan.
Fil(); // FileResult returnerar en binär utgång för att skriva till svaret.
// EmptResult representerar ett returvärde som används om åtgärdsmetoden måste returnera ett nullresultat.
Åtgärdsmetoder
När användaren anger en URL, till exempel: http://example-website.com/Example/HelloWorld , kommer MVC-applikationen att använda rutningsreglerna för att analysera denna url och extrahera undervägen, som kommer att bestämma styrenheten, åtgärden och möjliga parametrar. För ovanstående url kommer resultatet att vara / Exempel / HelloWorld, som som standard ruttningsreglerresultat ger kontrollerns namn: Exmaple och namnet på åtgärden: HelloWorld.
public class ExampleController: Controller
{
public ActionResult HelloWorld()
{
ViewData["ExampleData"] = "Hello world!";
return View();
}
}
Ovanstående ActionResult-metod "HelloWorld" kommer att göra den vy som heter HelloWorld, där vi sedan kan använda data från ViewData.
Kartlägga åtgärdsmetodparametrar
Om det skulle finnas ett annat värde i URL: en: / Exempel / ProcessInput / 2 kommer routingsreglerna att hota det sista numret som en parameter som skickas till åtgärden ProcessInput i controllerexempel.
public ActionResult ProcessInput(int number)
{
ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
return View();
}
Calling An ActionResult I Another ActionResult
Vi kan kalla ett åtgärdsresultat i ett annat handlingsresultat.
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;
}