这似乎是一个常见问题,但我找不到解决方案。
我输入我创建的登录控件中的用户名和密码。 输入密码后按 Enter 键,页面就会刷新。它触发页面加载事件,但不触发按钮单击事件。
如果我按下提交按钮,那么一切都会正常。
最佳答案
使用表单默认按钮是正确的,但您需要为其提供正确的 ID,因为它将呈现为 HTML。
所以你按照乔恩上面说的做:
<form runat="server" DefaultButton="SubmitButton">
但请确保您使用将要呈现的按钮名称。 您可以通过在控件中公开 Button 或返回其 ClientId 的方法来实现此目的。
假设您的按钮名为 btnSubmit,并且您的控件的实现名为 ucLogin。
为您的表单提供一个 ID
<form runat="server" id="form1">
然后在您的页面中加载页面后面的代码,通过将按钮客户端 ID 传递给 DefaultButton 来设置它。
protected void Page_Load(object sender, EventArgs e)
{
form1.DefaultButton = ucLogin.btnSubmit.ClientID;
}
关于c# - 通过在文本字段上按 Enter 键来在用户控件上提交表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/161531/