2009-05-30 15 views
6

Bir ASP. NET MVC uygulaması geliştiriyorum ve dev makinemde, uygulama beklendiği gibi çalışıyor ve daha da önemlisi CSS dosyasında belirtilen resimler doğru görüntüleniyor çok. Bir test sunucusuna bu uygulamayı yayınladığınızdaASP .Net MVC - Yayınlanmış yapı içinde gösterilmiyor Resim

Ancak, web uygulaması iyi çalışır, ancak görüntüleri gösterilmemiştir.

testi sunucudan çıktı test ederken IE URL'yi değiştirirseniz

, resim dosyası olduğu anlamına gelir, döndürülür fakat normalde siteyi kullanırken bu sadece görünüm sayfası içinde görünmez.

Ben de alternatif sunucularını denedi, ancak sonuç aynıdır.

... burada görüntü başvuran CSS sayfasından bir çizgi,

background-image: url('/Content/Images/Logo/myLogo.jpg'); 

Herhangi önerileri onaylamak için?

Alkış

Brett

cevap

19

URL'ler nedeniyle sunucunun kökünde artık bir alt klasörde yayınlıyorsunuz ve bu yüzden olmasından olasılığı, doğru değil. Sert kodlama yerine url oluşturmak için genellikle Url.Content("~/Content/Images/...") kullanırım. Bu şekilde yolu inşa ederken rotaları dikkate alacaktır.

Örnek:

<img src='<%= Url.Content("~/Content/Images/banner.jpg") %>' alt="Banner" /> 
1

Olası göreli yollar onlar CSS dosyası kendisi yanlış olduğunu Olası ... yanlış. CSS'nin düzgün yüklenip yüklenmediğini görmek için FireBug kullanabilirsiniz, daha sonra kırmızı (hata) öğelerini göreceğiniz durumlarda görüntü talebini inceleyebilirsiniz. Bu, sorunun yerelleştirilmesine yardımcı olabilir.

+0

İyi bir plan - FireFox ve FireBug'u indireceğim ve bunun işe yarayıp yaramayacağını göreceğim. –

0

Neden bu sadece projemi bitirme ve şimdi bu biçimde bir değişiklik her şeyi geçmek zorunda ... yapılması gereken var! Tüm javascriptim başarısız oluyor, tüm resimlerim başarısız oluyor! Bazı garip nedenlerden dolayı benim css sadece iyi ama neden bu daha belgelenmiş değil !? Url.Content intellisense altında bile görünmez! ASP MVC, aşk ölçeğimin bir noktasını kaybetti.

3

--çok sinirli kodlayıcı ben aynı sorunu vardı, ama İçindekiler klasöründe kimlik zorlayarak neden sebep buldum.

Bir kullanıcı henüz giriş yapmadığında

, onlar Anonim Kimlik Doğrulaması olarak sınıflandırılır. IIS7'de (kullandığım budur, IIS6'da aynıdır), özellik görünümünde kimlik doğrulama penceresini açmanız gerekir. Daha sonra, uygulama havuzu kimliğinizi veya varsayılan olanı kullanmak için Anonim Kimlik Doğrulamayı düzenleyin, yalnızca kullanıcının bu klasörde okuma izninin olduğundan emin olun. Benim için sabit

, sizin için işe yarar.