Styles.Render в MVC4

function getScreenWidth()
{
   var de = document.body.parentNode;
   var db = document.body;
   if(window.opera)return db.clientWidth;
   if (document.compatMode=='CSS1Compat') return de.clientWidth;
   else return db.clientWidth;
}
374
задан Community 25 January 2013 в 10:28
поделиться

7 ответов

Он вызывает файлы, включенные в этот конкретный пакет, который объявлен внутри класса BundleConfig в папке App_Start.

В этом конкретном случае вызов @Styles.Render("~/Content/css") вызывает "~ / Content / site.css".

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
448
ответ дан Community 25 January 2013 в 10:28
поделиться

Следите за чувствительностью к регистру. Если у вас есть файл

/Content/bootstrap.css

, и вы перенаправляете в свой Bundle.config на

.Include ( "~ / Content / Bootstrap.css")

не будет загружать CSS.

34
ответ дан linktoemi 25 January 2013 в 10:28
поделиться

Как определено в App_start.BundleConfig, он просто вызывает

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));

Ничего не происходит, даже если вы удалите этот раздел.

0
ответ дан Jason Sturges 25 January 2013 в 10:28
поделиться
1123 Немного опоздал на вечеринку. Но, похоже, никто не упомянул
связывание & amp; минификация из StyleBundle, поэтому ..

@Styles.Render("~/Content/css") 

звонит в Application_Start():

BundleConfig.RegisterBundles(BundleTable.Bundles);            

, что в свою очередь вызывает

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new StyleBundle("~/Content/css").Include(
              "~/Content/bootstrap.css",
              "~/Content/Site.css"));
}
< hr>

RegisterBundles() эффективно объединяет & amp; минимизирует bootstrap.css и amp; Site.css
в один файл,

<link href="/Content/css?v=omEnf6XKhDfHpwdllcEwzSIFQajQQLOQweh_aX9VVWY1" rel="stylesheet">

Но ..

<system.web>
  <compilation debug="false" targetFramework="4.6.1" />
</system.web>

только когда debug установлено на false в Web.config.
В противном случае bootstrap.css & amp; Site.css будет обслуживаться индивидуально.
Не в комплекте и не минимизированы:

<link href="/Content/bootstrap.css" rel="stylesheet">
<link href="/Content/Site.css" rel="stylesheet">
11
ответ дан SAm 25 January 2013 в 10:28
поделиться

src="@url.content("~/Folderpath/*.css")" должны отображать стили

0
ответ дан nhahtdh 25 January 2013 в 10:28
поделиться

Поло. Я бы не использовал Bundles в MVC по нескольким причинам. Это не работает в вашем случае, потому что вы должны настроить собственный класс BundleConfig в вашей папке Apps_Start. Это не имеет смысла, когда вы можете просто добавить стиль в заголовок вашего html, например так:

<link rel="stylesheet" href="~/Content/bootstrap.css" />
<link rel="stylesheet" href="~/Content/bootstrap.theme.css" />

Вы также можете добавить их в класс Layout.cshtml или частичный класс, который вызывается из всех ваших представлений и удаляется на каждую страницу. Если ваши стили меняются, вы можете легко изменить имя и путь без перекомпиляции.

Добавление жестко закодированных ссылок на CSS в класс нарушает целиком отделение интерфейса и дизайна от модели приложения. Вам также не нужны жестко заданные пути таблиц стилей, управляемые в c #, потому что вы больше не можете создавать «скины» или отдельные модели стилей, например, для различных устройств, тем и т. Д., Например:

<link rel="stylesheet" href="~/UI/Skins/skin1/base.css" />
<link rel="stylesheet" href="~/UI/Skins/skin2/base.css" />

Использование этого system и Razor вы можете теперь отключить путь к скину из базы данных или настройки пользователя и изменить весь дизайн вашего сайта, просто динамически изменяя путь.

Целью CSS 15 лет назад была разработка как «скинов» для сайтов, управляемых пользователями, так и приложений, чтобы вы могли отключить внешний вид интерфейса от приложения и переназначить контент независимо от структура данных ..... например, версия для печати, мобильная версия, аудио версия, сырой XML и т. д.

Вернувшись теперь к этой «старомодной», жестко запрограммированной системе путей, использующей классы C #, жесткие стили, такие как Bootstrap, и объединяя темы сайтов с кодом приложения, мы снова вернулись к тому, как создавались веб-сайты. 1998.

0
ответ дан Stokely 25 January 2013 в 10:28
поделиться

Я сделал все, что нужно, чтобы добавить пакет в сеть MVC 3 (я новичок в существующем решении). Styles.Render не работал для меня. Я наконец обнаружил, что просто пропустил двоеточие. На главной странице: <%: Styles.Render("~/Content/Css") %> Я все еще не понимаю, почему (на той же странице) <% Html.RenderPartial("LogOnUserControl"); %> работает без двоеточия.

0
ответ дан dudeNumber4 25 January 2013 в 10:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: