为了账号安全,请及时绑定邮箱和手机立即绑定

对象失去焦点时自己动提交数据 V2

标签:
JavaScript

一年多前,Insus.NET有写过一篇 《对象失去焦点时自己动提交数据》,那一篇是依赖Linkbutton来做隐藏提交。是否有不用依赖Linkbutton方法呢? 答案是肯定的。

.aspx页只拉一个TextBox控件:

5acf07190001405b00110016.jpgView Code  1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7     <title></title>
 8 </head>
 9 <body>
10     <form id="form1" runat="server">
11     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
12     </form>
13 </body>
14 </html>


.aspx.cs页中,首选在Page_Init事件,为TextBox注册OnBlur事件:

5acf07190001405b00110016.jpgView Code  protected void Page_Init(object sender, EventArgs e)
    {      
        this.TextBox1.Attributes.Add("onblur", Page.ClientScript.GetPostBackEventReference(this.TextBox1, "OnBlur"));
    }


写一个onBlue事件,将替代LinkButton的Click事件:

5acf07190001405b00110016.jpgView Code private void OnBlurHandle(string ctrl, string args)
    {       
        if (ctrl == this.TextBox1.UniqueID && args == "OnBlur")
        {
            //这里写提交到数据库中
        }
    }

 

然后在网页的Page_Load事件,判断是否IsPostBack。

5acf07190001405b00110016.jpgView Code  protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            var ctrl = Request.Params[Page.postEventSourceID];
            var args = Request.Params[Page.postEventArgumentID];

            OnBlurHandle(ctrl, args);
        }
    }

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消