关于ASP.net TextBox控件的失去焦点后触发其它事件

编写人:CC阿爸

2015-2-02

今天在这里,我想与大家一起分享如何处理的ASP.net TextBox控件的失去焦点后触发其它事件的问题,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。

1.首先弄清楚问题,asp.net 2.0服务器控件没有onBlur。因此我们第一个方法是采用

OnTextChanged 来处理
有一点要注意,txtVen的autopostback要设置为true.
<asp:TextBox ID="txtVen" runat="server" Width="80px" class="TextBox"   
                        OnTextChanged="txtVen_TextChanged" AutoPostBack="true"></asp:TextBox>

public void txtVen_TextChanged(object sender, EventArgs e)
        {
            string strSQL2 = "SELECT * FROM  P_Ven WHERE Ven=‘" + txtVen.Text + "‘";
            DataSet ds2 = DS(strSQL2, "Sys");
            if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
            {
            }
            else
            {
                //带出币别
                SetSelectedIndex(ddlCurr, ds2.Tables[0].Rows[0]["Currency"].ToString());
                chkHas_Sure.Checked = Convert.ToBoolean((ds2.Tables[0].Rows[0]["Has_Sure"]).ToString());
            }

}

以下别以为是大功告成:你会发现根据进不了你定义的后台事件。

OnTextChanged本身就是这样啊,文本改变了,并不是立即就触发事件,需要某个东西触发页面更新后,它才会起作用

这时你要在页面的load事件中添加:     

textbox1.Attributes["onblur"] = ClientScript.GetPostBackEventReference(控件1, null);

则当textbox 失去焦点的时候,触发控件1 的事件。

控件1 的事件可以随意写。 当写为:textbox 的 change 事件时, 就在textbox 失去焦点的时候 执行 textbox 的change事件。

这样就相当入引入了onblur事件。我在程序中加入以下代码:

txtVen.Attributes["onblur"] = ClientScript.GetPostBackEventReference(txtVen, null);

2.以下方法虽说可以我的问题,但画面会刷新,需要刷新的方法,当然不是我们希望的。

下面我们使用 AJAX+TextChanged事件 来处理。

后续待补充

以下第二部分为我在程序中采用的解决方案

欢迎加入技术分享群,请留下QQ号码

时间: 2024-10-11 13:35:09

关于ASP.net TextBox控件的失去焦点后触发其它事件的相关文章

ASP.Net TextBox控件只允许输入数字

原文:ASP.Net TextBox控件只允许输入数字 1.1.在Asp.Net TextBox 控件的 OnKeyPress 事件中指定输入键盘码必须为数字: <asp:TextBox ID="TextBox" runat="server" OnKeyPress="if(((event.keyCode>=48)&&(event.keyCode <=57))||(event.keyCode==46)) {event.ret

file控件选择同一文件不触发change事件和img控件不改变src的情况下图片不刷新问题解决

最近跑来前端掺和了.. file控件的问题用 inputFile.value = ''; img控件的问题,在图片后面添加一串无意义的参数即可,例如: img.src = 'file:///' + 本地图片路径+ '?t=' + Math.random();

C# Winform 点击TreeView控件节点的CheckBox不触发NodeMouseClick事件的做法

之前有个问题很困扰我,因为项目需要,我给TreeView控件的每个node节点加上了CheckBox,当我点击CheckBox时便会触发NodeMouseClick事件,而我只希望点击节点文本时才触发这个事件,终于在此博客找到解决方案http://blog.csdn.net/yunhaic/article/details/6409526 博主:徐云海 private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEv

[摘]ASP.Net标准控件(TextBox控件)

TextBox控件 TextBox控件又称文本框控件,为用户提供输入文本的功能. 1.属性 TextBox控件的常用属性及说明如表1所示. 表1 TextBox控件常用属性及说明 属    性 说    明 AutoPostBack 获取或设置一个值,该值指示无论何时用户在TextBox控件中按〈Enter〉键或〈Tab〉键时,是否自动回发到服务器的操作 CausesValidation 获取或设置一个值,该值指示当TextBox控件设置为在回发发生时进行验证,是否执行验证 ID 控件ID Te

ASP.NET中TextBox控件设立ReadOnly=&quot;true&quot;后台取不到值

SP.NET中TextBox控件设置ReadOnly="true"H或Enabled=false后台取不到值 当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空”  .    方法一:不设置ReadOnly属性,通过οnfοcus=this.blur()来模拟,如下: <asp:TextBox ID="TextBox1" runat="server" οnfοcu

TextBox控件的DataBindings属性

DataBindings属性是很多控件都有的属性,作用有2方面.一方面是用于与数据库的数据进行绑定,进行数据显示.另一方面用于与控件或类的对象进行数据绑定.这里主要关注后者.主要用法是将某个对象的某个属性与指定对象的指定属性进行关联. Label.TextBox等都包含DataBindings属性,其类型为ControlBindingsCollection,是Binding类的集合.Binding类代表某对象属性值和某控件属性值之间的简单绑定.如可以将TextBox的Text属性值绑定到Labe

Asp.Net数据控件引用AspNetPager.dll分页

今天与大家分享一下"Asp.Net数据控件引用AspNetPager.dll分页"首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tand

ASP.NET控件&lt;ASP:Button /&gt; html控件&lt;input type=&quot;button&quot;&gt;区别联系

ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样的东西 服务器只认识input,我们可以直接写input 但是asp是要把自己自动翻译成input再交给服务器的.其实是一样的东西 写写我看到的区别:                asp控件,直接可以用c#编程                input加上 runat=“server” 也被c#编程了 说白

ASP.NET数据绑定控件

数据绑定控件简介 数据绑定分为:数据源 和 数据绑定控件 两部分,数据绑定控件通过数据源来获得数据,通过数据源来隔离数据提供者和数据使用者,数据源有:SqlDataSource,AccessDataSource,ObjectDataSource,LinqDataSource,XmlDataSource 等大部分不会直连接数据库,所以SqlDataSource,AccessDataSource不会使用ObjectDataSource 是WEB开发中应用最广的数据源,也能很容易的进行数据库切换数据绑