Позволить клавише Enter входить в систему в asp.net?

У меня есть стандарт asp:login управление:


В Internet Explorer, нажимая Enter не отправляет форму, но звуковые сигналы IE во мне 10 раз быстро. В других браузерах Вводят превосходные работы, и отправляет форум, как Вы ожидали бы.

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

Почему это заблокировало в IE (и почему 10 раз по некоторым причинам)? Существует ли обходное решение?

10
задан Community 23 May 2017 в 11:58
поделиться

2 ответа

В конструкторе элемента управления входом: «Преобразовать в шаблон». Затем в разделе «Загрузка страницы» установите defaultButton вашей формы, найдя LoginButton .

ASPX:

<form id="form1" runat="server">
    <div>
        <asp:Login ID="Login1" runat="server" OnAuthenticate="Login1_Authenticate">
            <LayoutTemplate>
                <table border="0" cellpadding="1" cellspacing="0" style="border-collapse: collapse;">
                    <tr>
                        <td>
                            <table border="0" cellpadding="0">
                                .....
                                <tr>
                                    <td align="right" colspan="2">
                                        <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="Login1" />
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
        </asp:Login>
    </div>
    </form>

Скрытый код:

    protected void Page_Load(object sender, EventArgs e)
    {
        Button lbButton = Login1.FindControl("LoginButton") as Button;
        form1.DefaultButton = lbButton.UniqueID;
    }
10
ответ дан 4 December 2019 в 01:29
поделиться

Это взлом, но он поможет решить вашу проблему с Internet Explorer.
Добавьте на страницу текстовое поле, скрытое от просмотра.

<!-- Hack for Internet Explorer browsers to allow the page to post back when the enter key is pressed-->
<asp:TextBox ID="txtIEHackBox" runat="server" style="visibility: hidden; display: none;" />

Это приведет к тому, что Internet Explorer отправит обратно пару имя / значение веб-элемента управления Button при нажатии Enter.

0
ответ дан 4 December 2019 в 01:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: