ASP.NET:TextBox失去焦点引发服务端事件

在  Web  应用当中!我们往往会用到很多  TextBox  来处理录入的信息。

在页面提交之前,在  TextBox  失去焦点的时候,可能就是要处理一下我们输入的信息。

比如:

1、对输入信息的校验

2、根据输入的信息对后面即将录入的信息的不同处理

3、需要回到服务端处理

等等...

基于这些要求啊!给  TextBox  加上  OnBlur   的服务端事件就可以了!

服务端就会自动生成根  onclick  一样事件

this.MyTextBox.OnBlur += new System.EventHandler(this.MyTextBox_OnBlur);

这个控件主要的地方就是,继承  TextBox,和  IPostBackEventHandler  接口!公开  OnBlur  事件就可以了!

完整的代码如下:

using System;


namespace Region.Controls
{

 public class PostBackTextBox : System.Web.UI.WebControls.TextBox,System.Web.UI.IPostBackEventHandler


 {
  protected override void Render(System.Web.UI.HtmlTextWriter writer)
  {
   Attributes["onblur"] = Page.GetPostBackEventReference(this);
   base.Render (writer);
  }
  
  public event EventHandler OnBlur;
     
    
  public virtual void RaisePostBackEvent(string eventArgument)
  {
   if (OnBlur != null)
   {
    OnBlur(this, null);
   }  
   
  }

 }
}

如何在程序中使用代码:

1.在  web  项目里面添加以上代码所示的类  PostBackTextBox.cs,namespaceRegion.Controls

2..aspx  页面中引用该控件

(1).需要先注册一下

<%@ Register TagPrefix="custom" Namespace="Region.Controls" %>

(2) 然后就使用标签输出效果

<custom:PostBackTextBox runat="server" ID="ccf" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值