ASP.NET回车提交事件其实说到底并不是ASP.NET 的编程问题,却是关于html form 中的submit 按钮就是如何规划的具体讨论。 也可归于ASP.NET编程的一部分,那么ASP.NET回车提交事件的具体实现是怎么样的呢?下面我们具体的看下:

ASP.NET回车提交事件实现1、

当你的光标焦点进入某个表单元素的时候,会激活该表单中第一个(流布局顺从左到右,从上至下) type=submit 的按钮(假如有),等待响应回车事件,并提交该form

你可以测试一下代码:

  1. ﹤form action=""﹥
  2. ﹤input type="text" /﹥
  3. ﹤input type="submit" value="submit" /﹥
  4. ﹤/form﹥
  5. ﹤form action=""﹥
  6. ﹤input type="text" /﹥
  7. ﹤input type="button" value="submit" /﹥
  8. ﹤/form﹥

ASP.NET回车提交事件实现2.

在 ASP.NET 2.0 中 button 默认呈现为 ﹤input type=submit﹥ 此时不要额外脚本提交form ,submit 按钮就是设计用来提交form 而在 1.x 中则呈现为 ﹤input type=button οnclick=_doPostBack(...) /﹥ 此普通 button 不具备 submit 的上述默认行为

ASP.NET回车提交事件实现3. 禁用此默认行为有法二

(1)设置 form 元素的 defualtButton 为你希望响应回车的真正按钮如下

  1. ﹤form id="form1"
  2. runat="server"
  3. defaultbutton="Button1"﹥

注意 defaultButton = ﹤ ﹤TargetButton.ID﹥﹥ 因此这对复合控件中比如模板的 Button 可能无效(未测试)

(2)修改 button 呈现方式 UseSubmitBehavior="false"

  1. ﹤asp:Button ID="Button1"
  2. runat="server" Text="Button"
  3. οnclick="Button1_Click"
  4. UseSubmitBehavior="false" /﹥

另外可以通过控制焦点的方式,过滤回车实践,需要记录一笔的是,获取当前页面焦点所在控件的ID:

  1. document.activeElement

对于ASP.NET.我们在TextBox1中输入内容后,按下enter键后,就执行Button1的click方法。那么在page_load事件方法中写。

  1. TextBox1.Attributes.Add("onkeydown",
  2. "if(event.which || event.keyCode){
  3. if ((event.which == 13) || (event.keyCode == 13)) {
  4. document.getElementById('"+
  5. Button1.UniqueID+"').click();return false;}}
  6. else {return true}; ");

有ASP.NET里面用了form runat=server的表单的时候,里面的﹤asp:button .. 总不能按个回车提交表单,很是不爽。
现在终于发现了一个属性可以干这个事情,用 this.Form.DefaultButton = "ContentPlaceHolder1$btsubmit";
值得注意的是,如果用了masterPage(母板页),那么要在按钮ID前加上母板的ID:ContentPlaceHolderID和一个美元符($)

C#实现代码如下:

  1. ﹤%@ Page Language="C#"
  2. MasterPageFile="~/MasterPage.master"
  3. AutoEventWireup="true"
  4. CodeFile="login.aspx.cs"
  5. Inherits="login" %﹥
  6. ﹤asp:Content ID="Content1"
  7. ContentPlaceHolderID="ContentPlaceHolder1"
  8. Runat="Server"﹥
  9. ﹤asp:TextBox runat="server"
  10. ID="wd" ﹥﹤/asp:TextBox﹥
  11. ﹤asp:Button ID="btsubmit"
  12. runat="server" Text="提交"
  13. OnClick="btsubmit_Click" /﹥
  14. ...........................
  15. ﹤/asp:Content﹥

(1)含母板页的类中:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. this.Form.DefaultButton = "ContentPlaceHolder1$btsubmit";
  4. }

或者在内容页

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. this.Page.Form.DefaultButton = "ContentPlaceHolder1$btsubmit";
  4. }

(2)非母板页的类中:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. this.Form.DefaultButton = "btsubmit";
  4. }

ASP.NET回车提交事件的具体情况就向你介绍到这里,希望对你了解和学习ASP.NET回车提交事件有所帮助。

浅析ASP.NET回车提交事件[转]相关推荐

  1. html 禁用回车提交,HTML防止input回车提交表单

    原链接:https://blog.csdn.net/ligang2585116/article/details/44699567 自动提交情况说明: 1.默认情况下,单个输入框,无论按钮的type=& ...

  2. 发现 ASP.Net 的一个关于回车提交的 Bug ? 必须多于一个 Text 域回车提交,Server: ButtonX_Click 才能截获!...

    ASP.Net 中: 如果 Text 类型的域只有一个,此时按下回车提交,WebServer 端 ButtonX_Click 竟然截获不到,只能在 WebServer 端 Page_Load 里截获, ...

  3. javascript监听键盘事件 - 如表单enter回车提交

    javascript监听键盘点击时间,比如:enter回车表单提交.禁止F5刷新.禁用鼠标右键等等 本文仅简单做个介绍,权当抛砖引玉了:如果朋友们有更好的建议或者意见,欢迎留言评论. 代码如下: &l ...

  4. jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)

    键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部.键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,documen ...

  5. 浅析ASP.NET的Page.IsPostBack 属性

    浅析ASP.NET的Page.IsPostBack 属性 http://www.sina.com.cn 2008年05月06日 11:33  IT168.com [IT168技术文档] 现在从对ASP ...

  6. 浅析ASP.NET的Page.IsPostBack 属性http://www.sina.com.cn 2008年05月06日 11:33 IT168.com

    浅析ASP.NET的Page.IsPostBack 属性 http://www.sina.com.cn 2008年05月06日 11:33  IT168.com [IT168技术文档] 现在从对ASP ...

  7. 按回车提交问题: http://www.cnblogs.com/hfyb/archive/2007/01/21/626135.html

    aspx页面有文本框和按钮: 文本框:TextBox_InputNum 搜索按钮:Button_DataSearch 要实现的功能是:在文本框输入数据以后,按回车提交(也就是说,按回车可以搜索,按搜索 ...

  8. php 回车键触发事件,回车触发事件 - 范思哲思考者的个人空间 - OSCHINA - 中文开源技术交流社区...

    今天做一个需求,回车实现提交事件. 代码如下: $("#loginform").keydown(function(e){ var e = e || event, keycode = ...

  9. 不同浏览器对回车提交表单的处理办法(转载)

    不同浏览器对回车提交表单的处理办法(转载) 对下面的一段代码,刚开始使用 onClick 事件,在 IE 6.0 中,要按"提交"按扭才起做用,直接回车不行,而在 firefox ...

最新文章

  1. 图论-最短路Dijkstra算法详解超详 有图解
  2. 安装ORACLE RAC时修改ssh端口导致CRS无法安装
  3. 【Linux系统编程】IO标准缓冲区
  4. 15.8.2 泛型数组
  5. Vue项目实战04 : Vue 轮询接口的实现
  6. 使用自定义线程池处理并行数据库流
  7. ansible配置zabbix自动化安装和配置
  8. 如何利用java对mysql数据库进行增删改查
  9. java爬虫代码示例_那些让你代码思维和能力有较大的提升Java源码
  10. 淘宝开放平台正式环境获取数据(一)
  11. windows10 右键 manage 没反应
  12. C语言学习资料----快速排序
  13. 用户界面设计有效的人机交互策略_学习笔记
  14. 计算机桌面的理解,电脑桌面的基础知识教程,教你认识电脑桌面
  15. open-falcon短信报警
  16. 第九章:iOS应用的界面编辑
  17. 数字孪生系统有哪些意义?
  18. Allegro输出DXF文件操作指导
  19. 张一鸣、王兴、蔡文胜,福建人为什么爱做流量生意
  20. opcclient源码OPC客户端DA源码(c#开发)

热门文章

  1. springboot项目中pom.xml文件的颜色变成灰色,图标变成蜘蛛图形
  2. MySQL等值连接的示例
  3. 自定义镜像-镜像结构
  4. 初识Docker-什么是docker
  5. Pod详解-生命周期-钩子函数
  6. mybatis反射的核心类
  7. NofairSync.tryAcquire
  8. URLClassLoader的使用
  9. 从源码深处体验Spring核心技术--IOC容器初体验
  10. 谷歌浏览器中安装JsonView扩展程序