Szukaj…


Uwagi

ActionResult najlepiej jest traktować jako internetowy punkt końcowy w MVC. Do dowolnej metody ActionResult można dotrzeć, wpisując odpowiedni adres internetowy skonfigurowany przez silnik routingu.

Zwróć stronę widoku

Ten ActionResult zwraca stronę widoku Razor. Zgodnie ze standardowym szablonem routingu metoda ActionResult byłaby dostępna pod adresem http: // localhost / about / me

Widok zostanie automatycznie ~/Views/About/Me.cshtml w Twojej witrynie pod adresem ~/Views/About/Me.cshtml

public class AboutController : Controller
{
    public ActionResult Me()
    {
        return View();
    }
}

Zwróć plik

ActionResult może zwrócić FileContentResult , określając ścieżkę i typ pliku na podstawie definicji rozszerzenia, znanej jako typ MIME.

Typ MIME można ustawić automatycznie w zależności od typu pliku za pomocą metody GetMimeMapping lub zdefiniować ręcznie w odpowiednim formacie, np. „Tekst / zwykły”.

Ponieważ FileContentResult wymaga zwrócenia tablicy bajtów jako strumienia plików, System.IO.File.ReadAllBytes może być używany do odczytu zawartości pliku jako tablicy bajtów przed wysłaniem żądanego pliku.

public class FileController : Controller
{
     public ActionResult DownloadFile(String fileName)
     {
          String file = Server.MapPath("~/ParentDir/ChildDir" + fileName);
          String mimeType = MimeMapping.GetMimeMapping(path);

          byte[] stream = System.IO.File.ReadAllBytes(file);
          return File(stream, mimeType);
     }
}

Zwróć Jsona

Wynik działania może zwrócić Json.

1. Zwracanie Jsona w celu przesłania Jsona w ActionResult

public class HomeController : Controller
{
    public ActionResult HelloJson()
    {
        return Json(new {message1="Hello", message2 ="World"});
    }
}

2. Zwracanie treści w celu przesłania json w ActionResult

public class HomeController : Controller
{
    public ActionResult HelloJson()
    {
        return Content("Hello World", "application/json");
    }
}


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