Toiminnot palauttavat yleensä ActionResult-tyyppisen tuloksen, joka voi olla websivu, kuva, json-teksti jne. Ainoa interaktiivinen on tuo normaali websivu, joka yleensä saadaan aikaiseksi, kun toiminto palauttaa ViewResult-tyyppisen vastauksen. Tähän on Controller-luokassa olemassa metodi View, joka hoitaa joitakin juttuja valmiiksi. View-metodille voi antaa parametreina näkymän nimen, näytettävän mallin ja masterpage:n nimen.

Perusversio ilman parametreja

return View();

Laittaa näkymän nimeksi toiminnon nimen.

ViewEngine

ViewResult:n tapauksessa seuraavassa vaiheessa ViewEngine renderöi websivun. Renderöintiprosessi menee tyypillisesti näin

[list bullet=”circle”]

  • Ensin ViewEngine etsii näkymän nimen perusteella tiedoston, joka sisältää pohjan.
  • Seuraavaksi pohjassa oleva koodi suoritetaan (kontrollerista saatu data tulostetaan html:n sekaan).
  • Lopputuloksena saadaan puhdasta html:ää, joka pulautetaan käyttäjän selaimeen.
  • [/list]

    ViewEngineitä on saatavilla useita.  Oletuksena (ASP.NET MVC:n versiot 1 & 2) käytetään WebFormViewEngineä. Kolmosversiossa ViewEnginen voi valita (Visual Studiossa) projektia luodessa. Stackoverflow:n kysymyksestä ASP.NET MVC View Engine Comparison on vertailtu useita ViewEngineitä.

    Alla vertailu kahdesta ViewEnginestä, jotka voi valita Visual Studiossa ASP.NET MVC 3 -projektia luodessa

    WebFormViewEngine Razor
    Yleistä Oletus ViewEngine MVC:n versioissa 1 & 2.
    aspx– ja ascx-päätteiset tiedostot
    Mukana MVC:n versiossa 3.
    cshtml
    -päätteiset tiedostot
    Hyvää Syntaksi tuttu perinteistä ASP.NETiä käyttäneille
    IntelliSense/koodinväritys
    Kompaktimpi
    Ei tägisotkua
    Huonoa Voi tulla melkoinen tägisotku
    Saattaa hämmentää perinteisestä ASP.NET:stä siirtyjiä
    Ei IntelliSense-tukea (mutta on tulossa)

    Navigointi

    Social Media