我有两个asp按钮和一个asp文本框。一个按钮用于注销,另一个按钮用于将文本框(用户名)的内容添加到数据库表中。
一切正常,除非我输入用户名并点击回车键,它会将我注销,即点击退出按钮。
<asp:Button style="float: right;" ID="logout" runat="server" Text="LogOut" />
<asp:Label AssociatedControlID="adduser" Text="Add new admin user." runat="server" />
<asp:TextBox ID="adduser" runat="server" placeholder="Enter username here"></asp:TextBox>
<asp:Button ID="adduserbtn" runat="server" Text="Add" />
我通过在面板中包装文本框和adduserbtn按钮并将adduserbtn按钮设置为默认按钮来实现它。
<asp:Button style="float: right;" ID="logout" runat="server" Text="LogOut" />
<asp:Panel DefaultButton="adduserbtn" runat="server" ID="addUserPanel">
<asp:Label AssociatedControlID="adduser" Text="Add new admin user." runat="server" />
<asp:TextBox ID="adduser" runat="server" placeholder="Enter username here" ></asp:TextBox>
<asp:Button ID="adduserbtn" runat="server" Text="Add" />
</asp:Panel>
但这更像是一种“黑客”而非修复。有人知道更好/更清洁的方法吗?提前谢谢。
答案 0 :(得分:1)
你所做的一切都是正确的。这不是一个破解这个功能的ASP.Net。 只需更改代码,如下所示
<asp:Panel DefaultButton="adduserbtn" runat="server" ID="addUserPanel">
<asp:Button Style="float: right;" ID="logout" runat="server" Text="LogOut" />
<asp:Label AssociatedControlID="adduser" Text="Add new admin user." runat="server" />
<asp:TextBox ID="adduser" runat="server" placeholder="Enter username here"></asp:TextBox>
<asp:Button ID="adduserbtn" runat="server" Text="Add" />
</asp:Panel>
答案 1 :(得分:1)
Partha Thakura与Panel和DefaultButton
的答案是正确的,可以在需要按下按钮时使用。但您也可以使用javascript禁用Enter键的单击。我以大表格使用它,因为按Enter键将触发所有验证器或执行包含更多输入字段的表单发布。
<div onkeydown="return (event.keyCode!=13);">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
请确保您不要在MultiLine TextBox(textarea)上使用它。