ASP.NET 链接输入键与按钮

本文关键字:按钮 输入 NET 链接 ASP | 更新日期: 2023-09-27 18:37:18

我偶然发现了一个 ASP.NET Web应用程序的小问题。

我的页面上有几个按钮,我想通过按 Enter 键访问它们(取决于聚焦的TextBox)。

谷歌帮助了我,我想,但没有。

这是我发现的:

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

这似乎不起作用,它仍然按下另一个我此刻不想按下的按钮。

有什么建议吗?

ASP.NET 链接输入键与按钮

看起来您正在使用 Web 窗体。

您可以将正在执行的操作包装在Panel内,并在面板中设置 DefaultButton 属性。

<asp:Panel ID="LoginPanel" runat="server" DefaultButton="btLogin">
  <asp:TextBox ID="txtUser" runat="server" />
  <asp:TextBox ID="txtPass" runat="server" />
  <asp:Button ID="btLogin" runat="server">Login</asp:Button>
</asp:Panel>

当用户在txtUsertxtPass中输入数据,然后按 Enter 键时,他们将触发按钮btLogin

不要尝试使用 JavaScript - 将表单放入<asp:Panel>并将 DefaultButton 属性设置为按钮的 id。

为此使用 jQuery 要容易得多。绑定到按键事件。

您可以为每个文本框使用按键事件,这将执行不同的操作。

private void a_keyPress(object sender, KeyPressEventArgs e)
{
    RadTextBox myBox = (RadTextBox)sender;
    if (e.KeyChar == (char)Keys.Return)
    {
        if (myBox.ID == "textbox1")
        // then do stuff...
    }
    else if //do stuff...
}