Jump to content
MACkie

ASP.NET MVC 3 - Razor, CSS e... tretas.

Recommended Posts

MACkie

Olá sábios gurus do ASP.NET MVC.

Dirijo-me a vós nestes tempos complicados procurando resposta que o meu estimado professor aparenta não saber resolver. Deixando de lado este palavreado todo florido com cenas aleatórias, vamos passar ao facto.

Usando MVC, por defeito, os ficheiros CSS vêm colocados na directoria Content. O problema é que, dentro desse CSS, tenho duas definições de objecto - não sei se é assim que se chama, mas é aquelas coisas que começam por # e que identifica o objecto pelo "id" - que precisam de utilizar uma background image presente na pasta Content/images. Ou seja,

CSS -> Content

Imagens -> Content/images

Acontece que todos os atributos do CSS são carregados, excepto essas duas imagens de fundo. Já tentei 1001 formas, caminhos, urls, tudo. Pelos vistos, será à 1002º vez.

Outro problema:

No ficheiro .cshtml (ou lá a extensão que é) tenho a view respectiva para a página inicial com o conteúdo "<h2>index</h2>". Acontece que, se meter este conteúdo à lá patê sem MVC, ele aparece na div correcta. Se for com o @RenderBody() ele aparece no canto superior esquerdo da página, não respeitando as regras CSS.

Por agora, fico-me por estes dois. Se for necessário código quer dos ficheiros CSS quer dos html/cs é só pedirem ;)

Depois de ter isto resolvido, logo passo às "tretas" do título.

Cumprimentos e uma grade de minis para quem me resolver o problema,

MACkie


private void doNotDisturb(string motive)if(motive.compareTo(somethingReallyImportant) == 0)pay attention;else//do nothing

Share this post


Link to post
Share on other sites
ricrodrigues

Bom dia.

Aproveito para te deixar uma pequena correcção, em português não se diz por defeito, "by default" significa por omissão, embora naturalmente se pareça "por defeito" na realidade esta tradução está incorrecta. Por defeito seria "by fault" ou "by flaw".

Entrando no subject:

Para avaliares exactamente de onde a imagem deverá vir, tens duas ferramentas que te podem ajudar a perceber o que se está a passar, o Fiddler (que faz trace aos pedidos HTTP, onde deves ter um 404 (not found) para as imagens, e podes ver o URL que está a ser construído para as pedir) e também deves usar o Firebug (add-in para o Firefox) que te ajuda a perceber também as peças que faltam e te permitem alterar o URL em tempo real, sem alterares nada na tua aplicação.

Relativamente ao segundo problema, provavelmente estarás a colocar o RenderBody() fora de um elemento body, ou nalgum sítio incorrecto.

Partilhas as sources de tudo para ser mais simples avaliar o problema.

Share this post


Link to post
Share on other sites
MACkie

Olá e obrigado pela resposta.

Não conhecia o Fiddler e ele depressa resolveu o problema.

Não percebo porque é que o ASP.NET tem comportamentos diferentes em computadores diferentes - o mesmo projecto, atente-se.

Apesar de me ter indicado um url que já tinha tentado  - sem sucesso - anteriormente, agora as imagens aparecem devidamente. Quanto ao facto de a view não aparecer no sitio destinado, também já aparece no sítio - sem ter mudado uma única linha de código.

Obrigado ;)


private void doNotDisturb(string motive)if(motive.compareTo(somethingReallyImportant) == 0)pay attention;else//do nothing

Share this post


Link to post
Share on other sites
MACkie

Não sei se era o caso, mas problemas de CSS e Javascript também pode ser cache, quando se está a desenvolver convém limpar sempre o cache antes de cada teste.

Por isso é que tento, sempre que possível, fazer os testes em navegação privada (firefox). Sempre poupa umas dores de cabeça ;)


private void doNotDisturb(string motive)if(motive.compareTo(somethingReallyImportant) == 0)pay attention;else//do nothing

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.