Класс CSS не применяется к элементу ввода при асинхронном обратном вызове - PullRequest
0 голосов
/ 14 января 2010

Я использую следующий класс CSS, чтобы скрыть текстовое поле в asp:UpdatePanel для приема ввода с устройства чтения карт USB.

<style type="text/css">
    .USBBox
    {
        position: absolute;
        left: -999em;
    }
</style>

Когда я щелкаю элемент управления asp:LinkButton, настроенный для панели обновлений asp:AsyncPostBackTrigger, элемент управления появляется на странице, и класс CSS не применяется к элементу управления asp:TextBox.

Это поведение отображается в IE7. Работает как положено в FireFox 3.5.7

Что может вызвать такое поведение и как мне его разрешить

Ответы [ 4 ]

0 голосов
/ 15 января 2010

Может ли быть, что новый элемент управления поставляется с несколькими классами?

Поскольку в IE возникают проблемы при объединении классов в одном элементе.

0 голосов
/ 14 января 2010

Я думаю, вы должны использовать:

.USBBox
{
    display: none;
}

или, возможно, используйте вместо текстового поля asp: HiddenField.

0 голосов
/ 15 января 2010

попробуй

.USBBox
{
    display: block;
    width: 100px; /* or however wide you want it */
    position: absolute;
    left: -999em;
    background: #ff0000; /* visually ensure the class style is being applied, remove it later */
}
Позиция

должна работать только с элементами, которые отображаются в виде блока. элементы формы по умолчанию отображаются встроенными.

также просто для смеха установите цвет фона, чтобы убедиться, что поле ввода принимает класс

0 голосов
/ 14 января 2010

Там может быть проблема специфики. Попробуйте

input.USBBox{ position:absolute!important; left:-999px!important; }

И если это сработает, вернитесь из тега! Важно, чтобы увидеть, что на самом деле вызвало проблему.

Также объявить показ: блок; на всякий случай.

...