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 onclick=_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. onclick="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. Asp.net 回车默认按钮

    <head> <script type="text/javascript"> function OnKey()      {          if (ev ...

  2. 从事务隔离级别谈到Hibernate乐观锁,悲观锁

    数据库的事务,是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源.通过将一组相关操作组合为一个要么全部成功要么全部失败的单 ...

  3. asp.net中按钮回车事件(转自http://www.cnblogs.com/adinet/archive/2013/03/03/2941424.html)

    在做ASP.net WEB应用的时候,常常遇到会在同一个页面里添加多个按钮,而每个按钮肯定都会触发页面回送事件. 在ASP.NET中,只能指定一个带有runat="server"的 ...

  4. 在asp.net页面上按回车会触发Imagebutton控件的Click事件

    原文:在asp.net页面上按回车会触发Imagebutton控件的Click事件 问题: 用asp.net做的aspx页面,无论是否有文本框.下拉框.复选框……获得焦点,只要在当前页面上按一下回车就 ...

  5. asp.net中TextBox里面实现回车触发指定事件

    原文:asp.net中TextBox里面实现回车触发指定事件 我在一个user_top用户控件里面做了个包括搜索的功能.然后再一个页面中添加这个用户控件.浏览时候在textbox里面输入搜索内容后.下 ...

  6. 在TextBox中敲击回车执行ASP.NET后台事件

    1.在TextBox中敲击回车执行ASP.NET后台事件   0.说明 页面中有一个用于搜索的TextBox,希望能在输入内容后直接回车开始搜索,而不是手动去点击它旁边的搜索按钮 但因为该TextBo ...

  7. Asp.Net Form表单控件的回车默认事件

    当form表单文本框控件在收到回车事件时,默认会触发表单内第一个可提交按钮的事件,但业务中可能要求有其它控件进行提交,而不是这个默认的 这时需要脚本控件事件冒泡传递取消回事事件. $(document ...

  8. 解决ASP.NET页面回车回发的问题

    在asp.net页面中在文本框.按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValu ...

  9. asp.net 页面按回车就会触发button按钮事件

    转载于 https://www.cnblogs.com/anz130/articles/2445830.html 转自:http://space.itpub.net/12639172/viewspac ...

随机推荐

  1. Inside Qt Series (全集)

    Inside Qt 系列 QObject这个 class 是 QT 对象模型的核心,绝大部分的 QT 类都是从这个类继承而来.这个模型的中心特征就是一个叫做信号和槽(signaland slot)的机 ...

  2. WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键

    原文:WebBrowser控件禁用超链接转向.脚本错误提示.默认右键菜单和快捷键 WebBrowser控件禁用超链接转向.脚本错误提示.默认右键菜单和快捷键从 VS2005开始,VS自带的 WebBr ...

  3. Loser tree in Python | Christan Christens

    Loser tree in Python | Christan Christens Loser tree in Python I am taking an Advanced Data Structur ...

  4. Maven聚合

    <project xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2 ...

  5. 【OpenCV新手教程第14】OpenCVHough变换:霍夫变换线,霍夫变换圆汇编

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26977557 作者:毛星云(浅墨) ...

  6. Vijos P1881 闪烁的星星

    背景 星光闪耀--深蓝色空间 听说过他们的语言 沉默 暮 他们称赞深相互 描写叙述 繁星, 漫天的繁星. 繁星排成一列, 我数一数呀, 一共同拥有N仅仅小星星呢. 星星们是听话的好孩子, 小岛在指挥它 ...

  7. IE 兼容模式

    兼容模式的由来 早期的浏览器, IE 独大.这也就导致其很多东西和w3c 的标准有很多不一样的地方.譬如他有自己才看的懂得自定义Tag. 一个熟悉的名词--浏览器大战, 形象的刻画了这期间发生的事情. ...

  8. Windows - Windows的文件名的全路径(Fully Qualified File Name)的最大长度为260字节

    例如,你可以做以下实验来验证这个限制值: 在随意文件夹下新建一个文件夹. 在该新建文件夹下创建一个随意文件.使其名字长度不能再输入为止. 把该文件的全路径名copy到Microsoft Word中进行 ...

  9. 用 C++ 标准模板库(STL)的 vector 实现二叉搜索树(BST)

    本文由 Justme0翻译自 Code Project 转载请参见文章末尾处的要求. 介绍 众所周知,要建一棵树,我们需要关注它的内存分配与释放.为了避开这个问题,我打算用C++ STL(vector ...

  10. c# Unicode字符串的解码

    前两天工作中遇到个奇怪的问题,一个unicode字符串(即“\uXXXX”形式)变量,调用HttpUtility.UrlDecode解码过后,还是原样,要么就是乱码状态.无奈之下只能自己写一个解码函数 ...