2015-09-29 4 views
2

Мое фоновое изображение перезагружается при каждой обратной передаче. Поэтому он вызывает мерцание каждый раз, когда вы нажимаете кнопку. Это происходит в Internet Explorer (версия 11.0.9600.17843 проверена) и Chrome (версия 45.0.2454.93 m проверена). В Firefox (версия 34.0.5) он работает. До сих пор я не тестировал другие браузеры. Это код для фонового изображения до сих пор:asp .net background image мерцает после обратной связи

<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 мерцающий ошибка:

<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, или это полная обратная передача страницы? Также это веб-формы или mvc? –

+0

Это веб-формы. Есть флажки с свойствами свойства 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

у вас есть несколько вариантов

Вы должны использовать панель обновления - это только «обратную передачу» необходимые данные внутри панели и перерисовать часть экрана внутри update pannel - прочитайте this, чтобы узнать, как может помочь вам альянс microsoft. Я думаю, вы все равно должны использовать панель обновления, так как это лучший пользовательский интерфейс.

В качестве альтернативы проблема может быть вызвана тем, что цвет фона тела не установлен. он будет по умолчанию прозрачным, а страница будет белой. вы можете попробовать установить цвет фона в цвет, подобный тому, что имеет изображение. Я видел, как это уменьшало мерцание на страницах в прошлом.

Смежные вопросы