您的位置:首页 > 其它

TextBox失去焦点引发服务端事件

2009-08-31 13:29 417 查看
在 Web 应用当中!我们往往会用到很多 TextBox 来处理录入的信息。 在页面提交之前,在 TextBox 失去焦点的时候,可能就是要处理一下我们输入的信息。 比如: 1、对输入信息的校验 2、根据输入的信息对后面即将录入的信息的不同处理 3、需要回到服务端处理 等等... 基于这些要求啊!给 TextBox 加上 OnBlur 的服务端事件就可以了! 服务端就会自动生成根 onclick 一样事件 this.MyTextBox.OnBlur += new System.EventHandler(this.MyTextBox_OnBlur); 这个控件主要的地方就是,继承 TextBox,和 IPostBackEventHandler 接口!公开 OnBlur 事件就可以了! 新建个Controls类 完整的代码如下: 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,namespace为Region.Controls 2.在.aspx 页面中引用该控件 (1).需要先注册一下 <%@ Register TagPrefix="custom" Namespace="Region.Controls" %> (2) 然后就使用标签输出效果 <custom:PostBackTextBox runat="server" ID="ccf" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: