У меня есть страница входа в мое приложение Asp.Net.Я заметил, что когда я нажимаю клавишу Enter
в текстовых полях username
или password
, он запускает модальный режим, исходящий из моей страницы Site.Master.Я попробовал несколько решений, в том числе добавление кнопки по умолчанию к моему модалу Panel
, а также попытку применить UseSubmitBehavior=false
к моему asp:LinkButton
, который запускает модал.Этот последний подход терпит неудачу, потому что нет UseSubmitBehavior
для asp:LinkButton
.Почему это происходит и как я могу решить эту проблему?
Master.Site
<asp:button id="hiddenButton" runat="server" style="display:none;" />
<ajaxToolkit:ModalPopupExtender ID="uxReportModal" runat="server" PopupControlID="ReportPanel" TargetControlID="hiddenButton" CancelControlID="btnClose" BackgroundCssClass="modalBackground"> </ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="ReportPanel" runat="server" CssClass="modalPopupReport" align="center" style="display:none; text-align: left;" DefaultButton="hiddenButton">
....
<div style="text-align:center; margin-bottom: 20px;">
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onClick="btnSubmit_Click"/>
<asp:Button ID="btnClose" runat="server" Text="Close" />
</div>
</asp:Panel>
Примечание. Я также пытался добавить решение javascript, но это нетоже не работает.В основном это не удается, потому что идентификатор текстового поля не определен, и я не уверен, как правильно применить решение из примера :
LoginPage.aspx
<script>
uxTextBoxUserName.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('"+Button1.UniqueID+"').click();return false;}} else {return true}; ");
</script>
....
<td class="style2">
<asp:TextBox ID="uxTextBoxUserName" runat="server" Height="18px" Width="150px"></asp:TextBox>
</td>