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.

Author: Community, 2012-08-19

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"));
 434
Author: NunoCarmo,
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.

 32
Author: linktoemi,
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">
 7
Author: SAm,
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

 0
Author: Ram,
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ę.

 0
Author: Sathish Dadi,
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.

 0
Author: Stokely,
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.

 0
Author: dudeNumber4,
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