Асп Фокус на входе прыгает ошибка - PullRequest
0 голосов
/ 28 июля 2011

У меня есть веб-форма, использующая asp.net. В этой форме у меня много входов. Для одного из выпадающих меню, когда вы нажимаете его, фокус переходит к следующему текстовому полю.

Это на панели обновления, потому что для фильтрации, скрытия и т. Д. Требуется некоторая работа на стороне сервера.

Если пользователь выбирает Австралию из visaType_filter, он скрывает visaType_dd и показывает visaType_tb. Если они выбирают NZ, то наоборот.

Теперь мой вопрос:

Есть ли ошибка или что-то, из-за чего фокус выпадает из выпадающего списка, когда вы щелкаете по нему, чтобы перейти к следующему входу (или элементу управления)?

Код:

<fieldset>
    <asp:UpdatePanel ID="visaTypeUpdatePanel" runat="server">
        <ContentTemplate>
            <label>Visa Type Number</label>
            <label>
                <asp:DropDownList ID="visaType_filter" runat="server" Width="40%" OnSelectedIndexChanged="visaType_filter_SelectedIndexChanged" AutoPostBack="true"/>
                <asp:TextBox ID="visaType_tb" runat="server" Width="40%" OnTextChanged="visaType_tb_blur" AutoPostBack="true"/>
                <asp:DropDownList ID="visaType_dd" runat="server" Width="40%"/>
                <asp:Literal ID="visaType_literal" runat="server" />
            </label>
        </ContentTemplate>
    </asp:UpdatePanel>
</fieldset>
<fieldset>

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Я решил свою проблему, используя jQuery и Ajax вместо UpdatePanels.

0 голосов
/ 28 июля 2011

AFAIK, когда срабатывает UpdatePanel, фокус не поддерживается. Так что в идеале вам вообще не нужно фокусироваться.

Независимо от причины вы можете обойти проблему, используя метод ScriptManager.SetFocus , чтобы сосредоточиться на раскрывающемся списке.

У вас также могут быть клиентские решения для поддержания фокуса - они по сути работают, подключаясь к AJAX-запросам на запоминание сфокусированного элемента управления до запуска панели обновления, а затем восстанавливая его после завершения обратной отклики панели обновления: см. эта ссылка для одного такого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...