asp.net如何编写自定义控件

本文将以简单的方式阐述如何在 asp.net下编写简单的自定义控件

编写的自定义控件实现的功能是:在一个自定义的文本输入框内,给它指定正则表达式, 就能知道输入框的字符串是否符合给定的正则表达式。

首先,我讲一下在.net下如何使用正则表达式。在sys.Text.RegularExpression命名空间下,这些是专门处理郑泽表达式的一些类。其中,Regex类,有个方法叫做IsMatch(string RegularExpression),这个方法返回一个bool值,就是说它接受一个正则表达式字符串,返回是否匹配。

正则表达式讲完了,我们开始讲自定义控件。

分析一下需求,其实就是对原有的Textbox控件加入2个属性,一个是RegularExpression属性,来设置这个自定义文本框的给定正则表达式。另外一个就是有一个属性来指示自定义文本框内的内容是否与给定的正则表达式相匹配的结果,这个属性就叫IsMatch,它是一个bool值。

在asp.net下编写自定义控件,一个最简单的方法就是使用继承关系。那样,可以得到所有的父类的非私有成员。所以:

步骤一:新建一个类库项目,命名为CustomTexBox

步骤二:在项目中引入web.dll,因为在类库项目中并不是自带就有web.dll的

步骤三:新建一个类,继承自System.Web.UI.WebControls.TextBox,可以得到所有的父类的所有非私有成员。

步骤四:新加入2个属性,RegularExpression   IsMatch,具体代码看下面:

 

 using System;
using System.Text.RegularExpressions;

namespace CustomTextBox
{
 /// <summary>
 /// 正则表达式验证文本框
 /// </summary>
 public class RegBox:System.Web.UI.WebControls.TextBox
 {

  private string regularExpression;
  /// <summary>
  /// 指定正则表达式
  /// </summary>
  public string RegularExpression
  {
   get
   {
    return regularExpression;
   }
   set
   {
    regularExpression = value;
   }
  }


  /// <summary>
  /// 返回文本框内容是否匹配给定的正则表达式,只读属性
  /// </summary>
  public bool IsMatch
  {
   get
   {
    Regex reg = new Regex(regularExpression);

    return reg.IsMatch(this.Text);
   }
  }
 }
}

 

这样,就完成了一个简单的自定义控件,在使用的时候,只需要你把这个dll引入进来,在工具箱中添加进来,ok,你就能使用了。不过这个简单控件的可用性不是很大,因为验证文本的方法是在服务器端执行,太浪费了。所以,我在这里只是举一个例子来说明一下如何写自定义控件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值