2014-01-06 2 views
0

У меня есть приложение asp.net с элементом управления выпадающего списка с увеличенной шириной и выравниванием по вертикали по центру.Проблема с веб-приложением Asp.net в режиме совместимости с IE10

Вчера мой диспетчер dropdownlist suddently потерял свои свойства ширины/выравнивания css, отображаемые неправильно в браузере (IE 10).

После нескольких часов поиска проблемы я заметил, что это произошло потому, что я случайно нажал кнопку «Режим совместимости» в адресной строке (рядом с адресом).

подробности на моем посте по адресу: Vertically align text in a asp.net dropdown list control.

После нажатия кнопки режима совместимости он снова начинает работать хорошо.

Так как это случилось со мной, я подумал, что это может случиться, когда конечные пользователи смогут их неправильно отобразить.

Кто-нибудь знает, как этого избежать, и создать раскрывающееся меню/веб-приложение, которое не отформатируется, если пользователь случайно нажмет эту кнопку?

Кстати, я также использовал средства IE dev для проверки своей страницы в более старых версиях браузера и заметил, что она хорошо работает и в IE 9 и 8, но в раскрывающемся списке помещается IE7.

Спасибо!

ответ

0

Ваш лучший вариант - добавить условную ссылку css, которая срабатывает, если версия браузера IE меньше заданной суммы. Например, если вы добавляете новый файл css, который содержит стили, специфичные для IE7. Эти прокомментированные разделы - это IE-хаки. Этот лист ситов не вступает в силу, если браузер не IE7.

<!--[if IE 7]> 
     <link rel="stylesheet" type="text/css" href="/styles/main.IE7.css"" /> 
    <![endif]--> 

Затем вам необходимо настроить свои стили в этой таблице стилей в соответствии с IE7.

Также иногда IE установлен для отображения сайтов интрасети в режиме совместимости. См. Это, чтобы добавить настройку в web.config, которая предотвратит это. X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode

+0

Я обеспокоен не столько поддержкой более старых версий, например IE7. Меня беспокоит, что пользователь имеет более новую версию, такую ​​как IE10, и случайно нажимает режим совместимости. Затем приложение будет неформатировано. Есть ли способ заблокировать кнопку режима совместимости через код? – user2974961

+0

Смотрите этот вопрос. Я полагаю, вы можете добавить метатег на свою страницу, который заблокирует режим совместимости. Http://stackoverflow.com/questions/6348959/how-to-disable-compatibility-view-in-ie –