Em um .NET MVC4
projeto, como @Styles.Render
funciona?
Quero dizer, em @Styles.Render("~/Content/css")
qual arquivo ele está chamando?
Eu não tenho um arquivo ou uma pasta chamada "css" dentro da minha Content
pasta.
c#
asp.net-mvc
razor
asp.net-mvc-4
Ricardo Polo Jaramillo
fonte
fonte
Respostas:
Ele está chamando os arquivos incluídos nesse pacote específico que é declarado dentro da
BundleConfig
classe naApp_Start
pasta.Nesse caso específico, a chamada para
@Styles.Render("~/Content/css")
está chamando "~ / Content / site.css".fonte
*.min.*
mais*.*
arquivos.Cuidado com a distinção entre maiúsculas e minúsculas. Se você tem um arquivo
e você redireciona no seu Bundle.config para
não carregará o css.
fonte
Um pouco atrasado para a festa. Mas parece que ninguém mencionou
empacotamento e minificação de
StyleBundle
, então ..chama em
Application_Start()
:que por sua vez chama
RegisterBundles()
combina eficazmente e minifiesbootstrap.css
eSite.css
em um único arquivo,
Mas ..
somente quando
debug
estiver definido comofalse
noWeb.config
.Caso contrário,
bootstrap.css
eSite.css
será servido individualmente.Não empacotado, nem minificado:
fonte
src="@url.content("~/Folderpath/*.css")"
deve renderizar estilosfonte
Conforme definido em App_start.BundleConfig, está apenas chamando
Nada acontece mesmo se você remover essa seção.
fonte
Polo: Eu não usaria Bundles no MVC por várias razões. Não funciona no seu caso, porque você precisa configurar uma classe BundleConfig personalizada na sua pasta Apps_Start. Isso não faz sentido quando você pode simplesmente adicionar um estilo na cabeça do seu html da seguinte forma:
Você também pode adicioná-los a um Layout.cshtml ou classe parcial que é chamada a partir de todas as suas visualizações e solta em cada página. Se seus estilos mudarem, você poderá alterar facilmente o nome e o caminho sem precisar recompilar.
A adição de links codificados ao CSS em uma classe quebra com o objetivo de separar a interface do usuário e o design do modelo de aplicativo. Você também não deseja que os caminhos das folhas de estilo codificadas sejam gerenciados em c # porque não é mais possível criar "skins" ou separar modelos de estilo, por exemplo, diferentes dispositivos, temas etc., como:
Usando este sistema e o Razor, agora você pode mudar o Skin Path de um banco de dados ou configuração do usuário e alterar todo o design do seu site, apenas alterando o caminho dinamicamente.
Todo o objetivo do CSS há 15 anos era desenvolver "skins" de folhas de estilos controladas pelo usuário e controladas por aplicativos para sites, para que você pudesse mudar a aparência da interface do usuário e se sentir separada da aplicação e redirecionar o conteúdo independentemente da estrutura de dados. .... por exemplo, uma versão imprimível, móvel, versão de áudio, xml bruto, etc.
Voltando agora a esse sistema de caminho codificado e "antiquado" usando classes C #, estilos rígidos como o Bootstrap e mesclando os temas dos sites com o código do aplicativo, voltamos ao modo como os sites foram criados em 1998.
fonte
minification
então? : s / :(Fiz todas as coisas necessárias para adicionar o pacote a uma web do MVC 3 (sou novo na solução existente).
Styles.Render
não funcionou para mim. Finalmente descobri que estava simplesmente faltando dois pontos. Em uma página mestra:<%: Styles.Render("~/Content/Css") %>
ainda estou confuso sobre o porquê (na mesma página)<% Html.RenderPartial("LogOnUserControl"); %>
funciona sem dois pontos.fonte