所以我有一个页面,它有多个文本框、链接按钮和按钮。目前,用户单击“编辑”链接按钮,允许他们通过文本框在该行中输入数据。但是,在按下回车键时,其中一个按钮的事件被触发……这根本不是我们想要的。显然,这是内置的默认行为?
是否可以关联每个文本框,以便按下回车键将作用于特定分配的链接按钮或按钮,而文本框不采用单独的形式?
如果这是不可能的,我将尝试创建一个按钮并将其设为默认表单按钮,但禁用并隐藏它,以便按 Enter 不会提交任何内容。
谢谢!
所以我有一个页面,它有多个文本框、链接按钮和按钮。目前,用户单击“编辑”链接按钮,允许他们通过文本框在该行中输入数据。但是,在按下回车键时,其中一个按钮的事件被触发……这根本不是我们想要的。显然,这是内置的默认行为?
是否可以关联每个文本框,以便按下回车键将作用于特定分配的链接按钮或按钮,而文本框不采用单独的形式?
如果这是不可能的,我将尝试创建一个按钮并将其设为默认表单按钮,但禁用并隐藏它,以便按 Enter 不会提交任何内容。
谢谢!
您可以覆盖KeyPress
每个文本框的事件以捕获回车键,然后触发相应按钮的代码。
if(e.KeyChar == '\n')
// execute button code
您可以将它们放在单独的面板中,并使用 defaultbutton 属性告诉面板在按下 Enter 时使用哪个按钮。
您可以在 Button 控件上将 UseSubmitBehavior 属性设置为“false”。这将导致按钮呈现为<input type="button" />
标签而不是<input type="submit" />
标签。因此,按下 Enter 键不会导致按钮被按下,除非该按钮实际上具有焦点。
<asp:Button runat="server" UseSubmitBehavior="false" ... />