Poprawny sposób korzystania z viewstart.cshtml i częściowe widoki?
Używam _powiedźstart.cshtml aby automatycznie przypisać ten sam układ Razor do moich widoków.
Jest to martwy prosty plik w katalogu głównym folderu Moje widoki, który wygląda tak:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Jest to bardziej suche niż dodawanie dyrektywy @ Layout do każdego widoku.
Stanowi to jednak problem dla widoków Razor częściowych, ponieważ uruchamiają one zawartość _viewstart.cshtml i dlatego błędnie przypisują sobie układ, co sprawia, że, już nie częściowy.
Oto hipotetyczny projekt, pokazujący _viewstart.plik cshtml, współdzielony _layout.plik shtml, oraz widok częściowy ("AnonBar.cshtml").
Obecnie sposób, w jaki to obejdę, polega na dodaniu następującej linii do każdego częściowego widoku:
@{
Layout = "";
}
To chyba zły sposób na oznaczenie widoku jako częściowego w Razor. (Zauważ, że w przeciwieństwie do silnika widoku formularzy internetowych rozszerzenie pliku jest takie samo dla widoków częściowych.)
Inne opcje, które rozważałem, ale są jeszcze gorsze:
- umieszczanie wszystkich częściowych widoków we wspólnym folderze, aby mogły współdzielić wspólny _viewstart.cshtml. Łamie to konwencję widoków znajdujących się w tym samym folderze co ich kontroler.
- nie używa częściowych widoków.
Czy jest to coś, co wciąż jest udoskonalane przez zespół Razor view engine, czy brakuje mi fundamentalnej koncepcji?
1 answers
Jeśli return PartialView()
z kontrolerów (zamiast return View()
), _viewstart.cshtml
nie zostanie wykonane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-02 23:01:15