Asp.Net回车键触发Button的OnClick事件解决方案

简介:

在aspx页面有textbox文本框,还有三个button按钮。启用textbox的TextChanged事件和button的click事件。

问题:

现在在textbox文本框输入完数据按“回车”后,会触发TextChanged事件,但同时还会触发该页面第一个button按钮的Click事件。

解决方法一:

当在文本框中敲回车的时候,表单提交。因为在.net中一个Page只有一个form表单。所以也就有一个Sumbit事件。

当UseSubmitBehavior的属性是True的时候,表单的提交就会触发此事件。

先后顺序是先触发点击事件,然后触发 UseSubmitBehavior为True的button的click时间。

当然如果有多个button就会默认的触发第一个button事件。

为了解决该问题将UseSubmitBehavior改为false即可。(多个button时,UseSubmitBehavior全改为false。)

解决方法二:

(当你要用button的OnClientClick弹出确认窗口的时候,如果UseSubmitBehavior为false,不论你选择什么都不会执行服务器的button的OnClick代码,这时候就需要用解决方法二)

解决方法来自孟子E章:

private   void   Page_Load(object   sender,   System.EventArgs   e)   
{   
  TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13)   {this.blur();return   false}");   
}   
private   void   Button1_Click(object   sender,   System.EventArgs   e)   
{   
  Response.Write("Button");   
}   
private   void   TextBox1_TextChanged(object   sender,   System.EventArgs   e)   
{Response.Write(TextBox1.Text);   
}

 (确保TextBox1的AutoPostBack属性为True,实际使用中发现,只要设置为true,不需要上面的代码也可以解决问题。)

 另外,可以设置 客户端ID.focus()  or  设置tabIndex 属性。

 




本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/4170963.html,如需转载请自行联系原作者

目录
相关文章
|
12月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
628 3
|
8月前
|
监控 Linux
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
258 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
135 8
|
12月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
643 1
|
存储 安全 物联网
.NET 跨平台工业物联网网关解决方案
【9月更文挑战第28天】本文介绍了利用 .NET 构建跨平台工业物联网网关的解决方案。通过 .NET Core 和多种通信协议(如 MQTT 和 Modbus),实现工业设备的高效接入和数据采集。系统架构包括设备接入层、数据处理层、通信层、应用层和数据库层,确保数据的准确采集、实时处理和安全传输。此外,还详细阐述了设备身份认证、数据加密及安全审计等机制,确保系统的安全性。该方案适用于不同操作系统和工业环境,具备高度灵活性和扩展性。
287 2
|
API C#
.NET电子邮件高效处理解决方案
.NET电子邮件高效处理解决方案
120 2
|
Java
JAVA 端口被占用 报错解决方案:java.net.BindException: Address already in use: bind
JAVA 端口被占用 报错解决方案:java.net.BindException: Address already in use: bind
727 0
|
监控 Linux C#
【干货分享】.NET人脸识别解决方案
【干货分享】.NET人脸识别解决方案
271 0
|
Windows
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
2382 0

热门文章

最新文章