введите ключ в asp.net срабатывает неправильную кнопку

У меня есть текстовое поле и много кнопок. Когда пользователь находится в текстовом поле и нажимает клавишу «Enter», возникает событие нажатия определенной кнопки. Я прочитал в Интернете, что есть некоторые проблемы с клавишей "Enter", и я пробовал несколько решений, но все же он всегда вводит это событие кнопки (эта кнопка является первой кнопкой на странице).

Я попытался создать кнопку, которая ничего не делает и записывает это в page_load:

idTextBoxFA.Attributes.Add("onkeydown","if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementBtId('" + noEnterButton.UniqueID + "').click();return false;}} else {return true}; ");

Все элементы управления моей страницей находятся в форме, и я попытался передать свойство формы "defaultButton" этой кнопке. Это тоже не сработало.

Есть идеи, почему это не работает и что я делаю не так?

19
задан Jason Berkan 18 October 2010 в 21:33
поделиться

1 ответ

Стандартный способ в ASP.NET контролировать, какая кнопка отправки активируется при нажатии ENTER - это обернуть элементы управления и кнопки в asp:Panel со свойством DefaultButton, установленным на нужную кнопку.

Если я правильно понял ваш вопрос, вы просто хотите, чтобы при нажатии ENTER активировалась одна конкретная кнопка, поэтому оберните все на вашей странице в одну asp:Panel.

<asp:Panel id="pnlDefaultButton" runat="server" DefaultButton="btnOK">
    <!-- All controls here including: -->
    <asp:Button id="btnOK" runat="server" Text="OK" />
</asp:Panel>
37
ответ дан 30 November 2019 в 02:56
поделиться
Другие вопросы по тегам:

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