2010-09-04 74 views
1

我有以下的HTML代碼:麻煩背景圖像出現在HTML

<div style="background-image:url(~/Images/MyImage.jpg); width:100%; height:100%"> 

我不是太熟悉HTML,而是形成所有我見過的文章,這應該很好地工作。如果我在一個asp.net圖像控件中顯示圖像,那麼它顯示正常。不過,我想把文本放在上面。有誰能告訴我我做錯了什麼嗎?

回答

2

默認情況下,不能在普通HTML元素的路徑中使用~。這隻能被ASP.NET理解,但是你的元素被視爲標記,只是簡單地發送到瀏覽器而不被服務器端腳本處理。

您應該的id屬性和屬性runat="server"添加到您的<div>所以,它是由ASP.NET的認可,否則你將不得不使用相對或絕對URL,而不在路徑中~

<div id="mydiv" style="background-image:url(~/Images/MyImage.jpg);" runat="server"> 

<div style="background-image:url(/Images/MyImage.jpg);"> 
1

您的DIV不計算作爲服務器控件,因此「〜」字符不被識別,因爲它應該。不是100%肯定,但添加RUNAT =「服務器」應該工作...

<div style="background-image:url(~/Images/MyImage.jpg); width:100%; height:100%" runat="server"> 
1

在上面你把<div ...> </div>之間的任何文本會過來背景圖像的情況。

此外,由於runat = server標籤丟失,它甚至不會被asp.net觸及。所以你的網址也是錯誤的〜。