Styles.Renderowanie w MVC4
W projekcie .NET MVC4
jak działa @Styles.Render
?
Mam na myśli, w @Styles.Render("~/Content/css")
który Plik się nazywa?
Nie mam pliku lub folderu o nazwie "css" w moim folderze Content
.
7 answers
Wywołuje pliki zawarte w danym pakiecie, który jest zadeklarowany wewnątrz klasy BundleConfig
w folderze App_Start
.
W tym konkretnym przypadku wywołanie @Styles.Render("~/Content/css")
wywołuje " ~ / Content / site.css".
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
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
2013-01-25 10:28:09
Uważaj na wielkość liter. Jeśli Masz plik
/ Content / bootstrap.css
I przekierowujesz w pakiecie.config to
.Include ("~/Content/Bootstrap.css")
Nie załaduje css.
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
2013-05-21 15:12:47
Trochę za późno na imprezę. Ale wydaje się, że nikt nie wspomniał
Wiązanie & minifikacja z StyleBundle
, czyli.
@Styles.Render("~/Content/css")
Wywołania w Application_Start()
:
BundleConfig.RegisterBundles(BundleTable.Bundles);
Które z kolei wywołują
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/Site.css"));
}
RegisterBundles()
skutecznie łączy & minifigurki bootstrap.css
& Site.css
w jednym pliku,
<link href="/Content/css?v=omEnf6XKhDfHpwdllcEwzSIFQajQQLOQweh_aX9VVWY1" rel="stylesheet">
Ale ..
<system.web>
<compilation debug="false" targetFramework="4.6.1" />
</system.web>
Tylko wtedy, gdy debug
jest ustawione na false
w Web.config
.
Otherwise bootstrap.css
& Site.css
będą serwowane indywidualnie.
Nie wiązany, ani minifikowany:
<link href="/Content/bootstrap.css" rel="stylesheet">
<link href="/Content/Site.css" rel="stylesheet">
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
2017-12-17 18:32:16
src="@url.content("~/Folderpath/*.css")"
should render styles
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
2013-09-18 19:57:31
Jak zdefiniowano w App_start.BundleConfig, to tylko wywołanie
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
Nic się nie dzieje, nawet jeśli usuniesz tę sekcję.
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
2015-01-29 20:32:03
Polo nie używałbym pakietów w MVC z wielu powodów. To nie działa w Twoim przypadku, ponieważ musisz skonfigurować niestandardową klasę BundleConfig w folderze Apps_Start. To nie ma sensu, gdy możesz po prostu dodać styl w głowie swojego html w ten sposób:
<link rel="stylesheet" href="~/Content/bootstrap.css" />
<link rel="stylesheet" href="~/Content/bootstrap.theme.css" />
Można również dodać je do układu.CSHTML lub klasa częściowa, która jest wywoływana ze wszystkich widoków i upuszczana na każdą stronę. Jeśli style ulegną zmianie, możesz łatwo zmienić nazwę i ścieżkę bez konieczności przekompilować.
Dodawanie hardkodowanych linków do CSS w klasach ma również na celu oddzielenie interfejsu użytkownika i projektu od modelu aplikacji. Nie chcesz również, aby ciężko zakodowane ścieżki arkuszy stylów były zarządzane w c#, ponieważ nie możesz już tworzyć "skórek" lub oddzielnych modeli stylów dla różnych urządzeń, motywów itp. TAK:
<link rel="stylesheet" href="~/UI/Skins/skin1/base.css" />
<link rel="stylesheet" href="~/UI/Skins/skin2/base.css" />
Używając tego systemu i Razora możesz teraz wyłączyć ścieżkę skórki z bazy danych lub ustawień użytkownika i zmienić cały projekt Twojego strony internetowej poprzez dynamiczną zmianę ścieżki.
Całym celem CSS 15 lat temu było opracowanie zarówno "skórek" arkuszy stylów kontrolowanych przez Użytkownika, jak i przez aplikację, aby można było zmienić wygląd interfejsu użytkownika w oddzielny od aplikacji i zmienić przeznaczenie treści niezależnie od struktury danych.....na przykład wersja do druku, Wersja mobilna, wersja audio, raw xml, itp.
Wracając teraz do tego "staromodnego", twardo kodowanego systemu ścieżek przy użyciu klas C# , sztywne style, takie jak Bootstrap i łączenie motywów witryn z kodem aplikacji, cofnęliśmy się ponownie do sposobu, w jaki witryny zostały zbudowane w 1998 roku.
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
2017-06-30 20:10:52
Zrobiłem wszystko, co konieczne, aby dodać bundling do MVC 3 web (jestem nowy w istniejącym rozwiązaniu). Styles.Render
nie zadziałało na mnie. W końcu odkryłem, że brakuje mi okrężnicy. Na stronie wzorcowej: <%: Styles.Render("~/Content/Css") %>
nadal jestem zdezorientowany, dlaczego (na tej samej stronie) <% Html.RenderPartial("LogOnUserControl"); %>
działa Bez dwukropka.
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
2018-08-31 15:46:58