c# - 通过在文本字段上按 Enter 键来在用户控件上提交表单不起作用

标签 c# asp.net user-controls

这似乎是一个常见问题,但我找不到解决方案。

我输入我创建的登录控件中的用户名和密码。 输入密码后按 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/

相关文章:

c# - Azure Function 正常运行一段时间后无法加载程序集

c# - 项目开发过程中从VS2010升级到VS2012有风险吗?

asp.net - 如何制作asp :GridView sortable?

c# - 将值 UserControl 传递给 View Page 的 ViewModel

wpf - 如何在 WPF 中禁用调整用户控件的大小

c# - WinForm TabControl 选项卡页面内容在显示新选项卡之前不会更新

c# - 如何使用 QueryOver 编辑 NHibernate Junction?

c# - 了解行为并重写 GetHashCode()

c# - 参数复杂对象作为未定义进入 JavaScript 函数

javascript - 访问受限 URI 被拒绝”代码 : "1012