2015-09-29 63 views
2

我的背景圖片在每次回傳時重新加載。所以每次按下按鈕時都會導致閃爍。它發生在Internet Explorer(已測試版本11.0.9600.17843)和Chrome(已測試版本45.0.2454.93 m)中。在Firefox(版本34.0.5測試)它工作。到目前爲止,我沒有測試過其他瀏覽器。這是背景圖像的代碼至今:asp .net背景圖片在回發上閃爍

<style type="text/css"> 
body 
{ 
    background-image: url(/Img/Besuchermanagement_1920_1080.jpg); 

    background-attachment: inherit; 
    background-repeat: no-repeat; 

    background-position: center; 
    background-size: 100% 100%; 
    min-height: 925px; 

    opacity: 0.9 
}  
</style> 

我還添加了這些元標籤,當我讀到一個IE閃爍的bug:

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0.2)" /> 
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0.2)" /> 

但是,這並沒有爲我工作。

所以我增加了一個圖像,並將其設置隱形通過這個CSS

.backgroundImageFix 
{ 
    width: 1%; 
    height: 1%; 
    opacity: 0.0 
} 

<asp:Image ID="Image1" runat="server" EnableTheming="True" ImageAlign="Bottom" CssClass="backgroundImageFix" 
    ImageUrl="~/Img/Besuchermanagement_1920_1080.jpg" /> 

現在我沒有任何閃爍的問題了。

但我不明白爲什麼添加圖像會阻止背景圖像在回發上重新加載。我希望任何人都可以向我解釋,也許給我一個更好的解決方案。

+0

您是使用ajax回發還是整頁回發?也是這個webforms或mvc? –

+0

這是webforms。有些AutoPostBack屬性爲true的複選框和後面代碼中帶有onclick方法的按鈕。 –

+0

我認爲你沒有使用更新面板。 –

回答

1

後回時重新加載頁面,因爲它有一個生命週期,這使得頁面重新加載它是閃爍 但爲避免你可以在asp.net中使用更新面板控制

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 

<asp:UpdatePanel id="UpdatePanel1" runat="server"> 
    <ContentTemplate> 

       //your code here 

     </ContentTemplate> 
</asp:UpdatePanel> 

這應該停止你的背景圖像閃爍

+0

Updatepanel只在客戶端更新?因爲我需要更新一個sql表,所以客戶端必須通過回發與服務器通信? –

+0

是的更新面板將在客戶端工作,但其餘部分將由asp.net事件照顧,所有您需要做的就是儘量在更新面板中編寫所有按鈕和內容以停止閃爍問題 –

+0

將所有內容在一個更新面板中幫助了我。 –

0

你有幾個選項

您應該使用更新面板 - 它只是將「回傳」面板內所需的數據和重繪里面的屏幕部分更新pannel - 讀一下this,看看microsoft ajax如何幫助你。我認爲你應該使用更新面板,因爲它是更好的用戶體驗。

或者,由於未設置正文的背景顏色,也可能導致該問題。它會默認爲透明,並且頁面將變成白色。您可以嘗試將背景顏色設置爲與圖像類似的顏色。我已經看到這減少了過去在頁面上的閃爍。