2010-10-12 84 views
0

我在ascx文件http://jsfiddle.net/xkRcN/8/中添加了這段代碼。當它是aspx文件時。圖片(位置是我的項目中的「Images」文件夾now..was flickr更早)會顯示好吧..但是當我把這個頁面變成一個用戶控件,並將它添加到我的webform中時,圖像消失了。我嘗試了多次改變路徑,但它不工作..用戶控件位於名爲「usercontrols」 folder..image「圖像」在我的網頁命名的文件夾裏面,我的aspx頁面的在根級別only..so我改變了用戶控件的CSS圖像路徑如下: -來自usercontrol的圖片將不會顯示在webform上

background-image: url(../images/myImage.jpg); 

甚至試圖

background-image: url(../../images/myImage.jpg); 

background-image: url(~/images/myImage.jpg); 

但雪碧圖像是不會顯示

一切都在用戶控件別人是越來越顯示以及..just該圖像的missing..whats錯了嗎?

+0

選擇器是否改變?如果你使用id作爲CSS選擇器,現在它是一個用戶控件,它可能會有所不同。 – 2010-10-12 07:07:27

+0

我的webform有一個masterpage ..現在當我在沒有masterpage的測試頁上添加這個usercontrol時,沒有任何東西..圖像出現了。爲什麼? – Serenity 2010-10-12 07:33:47

回答

1

因爲@Michael建議首先測試一下,如果呈現的html(在您的瀏覽器中查看源代碼)已經改變了您嘗試設置樣式的任何id。當你使用usercontrols和masterpages時,asp.net控件的ID會被改變。

同時檢查(在你的瀏覽器中)他的圖像是否通過放置該圖像的完整路徑存在。所以,如果你知道這個圖像是http://example.com/images/myImage.jpg和你的頁面(如果您使用用戶控件並不重要)http://example.com/pages/page1.aspx那麼你知道你應該這樣做:

background-image: url(../images/myImage.jpg); 

如果實在不行,那麼就這樣做:

background-image: url(http://example.com/images/myImage.jpg); 

祝你好運!

編輯

既然你發現了ID的變化是什麼原因造成的問題,唯一的解決辦法是使用類風格你的HTML標記:

HTML

//some people don't know this but you can also put the style directly into the 
//asp.net control event if visual studio doesn't support it in the intellisense 
<asp:Label id="label1" CssClass="test" style="color:blue;" runat="server" /> 

CSS

.test { color:red; } 

如果你還是想使用id風格你的代碼,那麼你可以把長期生成的ID到您的CSS代碼或升級到asp.net 4這就給控制你的asp.net的ID,例如:

<asp:Label id="label1" ClientIDMode="Static" runat="server" /> 

有第三方解決方案可以控制asp.net 3.5及更低版本的ID,但它們不是開箱即用的,需要一些小竅門。

+0

由於某種原因抱歉無法發佈測試頁代碼......所以我再次仔細檢查了頁面源代碼,並猜測某些div標記ID已經發生了變化! ..我得到這一個div的ID是「div1」..在這個div裏面是我的Sprite圖片..現在這個「div1」正在改爲「ctl00_ContentPlaceHolder2_ctl00_Banner_ctl00_ContentPlaceHolder2_ctl00_Banner_div1」...橫幅是在我的測試中聲明的UserControl類型的變量頁面(我在後面的代碼中添加UserControl)...現在我該如何處理這些更改的ID? plz help..thnx – Serenity 2010-10-20 04:17:44

0

我有這個相同的問題。我通過在.ascx頁面中簡單地使用<asp:Image />控件來解決這個問題,然後它就可以工作。將ImageUrl引用到images文件夾。