服务端事件产生的原因有很多,而其中最不为人知的恐怕就要数c# textbox失去焦点所引发的服务端事件了。也许您会觉得有些难以置信,还是让我用下面的例子来给您做一个介绍吧。
在Web应用当中,我们往往会用到很多c# textbox失去焦点来处理录入的信息。
在页面提交之前,在c# textbox失去焦点的时候,可能就是要处理一下我们输入的信息。
比如:
1、对输入信息的校验
2、根据输入的信息对后面即将录入的信息的不同处理
3、需要回到服务端处理
等等...
基于这些要求啊!在c# 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);
- }
- }
- }
- }
【编辑推荐】