Szukaj…


Składnia

  • // Metoda ActionResult zwraca instancję pochodzącą z ActionResult. Jesteś w stanie stworzyć metodę akcji, która może zwrócić dowolną instancję opakowaną w odpowiedni typ ActionResult.

  • // Wbudowane typy zwrotne ActionResult to:

  • Widok(); // ViewResult renderuje widok jako stronę internetową

  • Częściowy widok(); // PartialViewResult renderuje widok częściowy, który można wykorzystać jako część innego widoku.

  • Przeadresować(); // RedirectResult przekierowuje do innej metody akcji za pomocą swojego adresu URL.

  • RediectToAction (); RedirectToRoute (); // RedirectToRouteResult przekierowuje do innej metody akcji.

  • Zawartość(); // ContentResult zwraca typ zawartości zdefiniowany przez użytkownika.

  • Json (); // JsonResult zwraca zserializowany obiekt JSON.

  • JavaScript (); // JavaScriptResult zwraca skrypt, który można wykonać po stronie klienta.

  • Plik(); // FileResult zwraca wyjście binarne do zapisu w odpowiedzi.

  • // EmptResult reprezentuje wartość zwracaną, która jest używana, jeśli metoda akcji musi zwrócić wynik o wartości NULL.

Metody działania

Gdy użytkownik wpisze adres URL, na przykład: http://example-website.com/Example/HelloWorld , aplikacja MVC użyje reguł routingu do przeanalizowania tego adresu URL i wyodrębnienia podścieżki, która określi kontroler, akcję i możliwe parametry. W przypadku powyższego adresu URL wynikiem będzie / Example / HelloWorld, który domyślnie w regułach routingu podaje nazwę kontrolera: Exmaple i nazwę akcji: HelloWorld.

public class ExampleController: Controller
{
    public ActionResult HelloWorld()
    {
        ViewData["ExampleData"] = "Hello world!";
        return View();
    }
}

Powyższa metoda ActionResult „HelloWorld” renderuje widok o nazwie HelloWorld, w którym możemy następnie wykorzystać dane z ViewData.

Mapowanie parametrów metody działania

Jeśli w adresie URL byłaby inna wartość, taka jak: / Example / ProcessInput / 2, reguły routingu zagrożą ostatniej liczbie jako parametr przekazany do akcji ProcessInput kontrolera Przykład.

public ActionResult ProcessInput(int number)
{
    ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
    return View();
}

Wywoływanie ActionResult w innym ActionResult

Możemy nazwać wynik akcji innym wynikiem działania.

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;
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow