2009-07-28 9 views
32

Mam plik CSS, który jest osadzony w moim zestawie. Muszę ustawić obraz tła dla niektórych elementów przy użyciu tego pliku CSS, a obraz musi być także zasobem osadzonym. czy to możliwe? Czy istnieje sposób, w jaki mogę to zrobić niezawodnie?Jak odwoływać się do osadzonych obrazów z CSS?

Wpadłem na ten problem po umieszczeniu istniejącego arkusza stylów w tej dll, a następnie obrazy nie były wyświetlane. Nie wiem, jak to działa, ponieważ potrzebowałbym znać adres URL do osadzonego obrazu.

Czy ktoś zrobił coś takiego?

Odpowiedz

52
<% = WebResource("image1.jpg") %> 

Można użyć powyżej oświadczenie wewnątrz pliku CSS, a gdy zarejestrujesz swój CSS z WebResourceAttribute można ustawić „PerformSubstitution” do prawdziwego

Default.css 
body{ 
    background: <%=WebResource("xyz.jpg")%> 
} 



[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)] 
[assembly, WebResource("xyz.jpg","image/jpg")] 
+0

działa idealnie! bardzo dziękuję –

+8

Chciałbym zagłosować na ciebie 100 razy za to, gdybym mógł :) –

+9

Znalazłem przy użyciu tła zamiast tła musiałem zawinąć tag serwera WebResource za pomocą url (''). E.g. background-image: url ('<% = WebResource ("xyz.jpg")%>'); –

0

Co się dzieje z ekspozycją zasobów za pośrednictwem usługi sieci Web? Takich jak w pliku CSS, zestaw background: url(getImage.aspx?image=newyork.jpg)?

+0

Jest to dobry pomysł, z tym że zasób jest osadzony w naszej wspólnej bibliotece, a nie w aplikacji internetowej. Więc niestety to nie zadziała dla mnie w tej sytuacji. –

+0

Następnie należy odwołać się do wspólnej biblioteki z nowej aplikacji internetowej, która jest wyłącznie odpowiedzialna za wyciąganie zasobów osadzonych ze wspólnej biblioteki? – maxwellb

4

kopalni jest niewielkie zmiany na inny sugestii, ale to działa na moim inline CSS wewnątrz mojej stronie ASP.NET

  1. dodaj następujący wpis do pliku AssemblyInfo.cs - [assembly: WebResource("MyImageFile.png", "image/png")]
  2. dodać następujący kod w CSS odwołać osadzonego zasobu - background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(MyUserControl), "MyImageFile.png") %>')
6

Wystarczy wykonać następujące kroki w celu skierowania zasobów internetowych jako obraz tła w CSS

  1. Patrz URL obraz jako " background: url ('<% = WebResource ("xyz.jpg")%>'); " w następujący sposób.

    Default.css 
    body{ 
         background: url('<%=WebResource("xyz.jpg")%>'); 
        } 
    
  2. W AssemblyInfo.cs złożyć zarejestrować plik CSS z "PerformSubstitution = true" atrybutu w następujący sposób

    [assembly, WebResource("Default.css","text/css", PerformSubstitution=true)] 
    
  3. Teraz znowu w AssemblyInfo.cs zarejestrowaniu pliku plik obrazu jako

    [assembly, WebResource("xyz.jpg","image/jpg")] 
    
  4. Kliknij prawym przyciskiem myszy plik obrazu (xyz.jpg) i plik CSS (Default.css) i kliknij Właściwości, a następnie wybierz opcję "Kompiluj zasoby" jako " Osadzone zasoby ".

i gotowe. Happy Coding !!!

Powiązane problemy