FreeTextBox 研究 -- FreeTextBox 类

FreeTextBox 派生自 System.Web.UI.Control 类,而不象普通Web控件那样派生自: System.Web.UI.WebControls.WebControl 类。

System.Web.UI.Control 类是 System.Web.UI.WebControls.WebControl 类的基类。 不用后者,我估及是为了让Web 编辑器的每一个按钮,分割条、下拉列表框都是基于一个类这样的功能的实现。

如果使用 System.Web.UI.WebControls.WebControl 类派生的话,只需要重载 Render 即可.而这个重载函数只是输出html即可,这样显然对上面提到的功能实现上不是很面向对象的。

protected override void Render(HtmlTextWriter output)
{
 output.Write(Text);
}

由于派生自:System.Web.UI.Control 类 ,FreeTextBox 重载了一下几个函数。

protected override void OnPreRender(EventArgs e)
{
 base.OnPreRender (e);

}

protected override object SaveViewState()
{
 return base.SaveViewState ();
}

protected override void LoadViewState(object savedState)
{
 base.LoadViewState (savedState);
}


protected override void OnInit(EventArgs e)
{
 base.OnInit (e);
}

protected override void OnLoad(EventArgs e)
{
 base.OnLoad (e);
}

protected override void CreateChildControls()
{
 base.CreateChildControls ();
}

另外,由于要进行服务器段跟客户端通讯。FreeTextBox 类同时具有以下几个接口:
IPostBackDataHandler, INamingContainer, IPostBackEventHandler

IPostBackDataHandler
定义 ASP.NET 服务器控件为自动加载回发数据而必须实现的方法
这个接口需要实现以下两个函数。
public bool LoadPostData(String postDataKey, NameValueCollection values)
{}

public void RaisePostDataChangedEvent()
{}

INamingContainer
标识在 Page 对象的控件层次结构内创建新 ID 命名空间的容器控件。这仅是一个标记接口。

IPostBackEventHandler
定义 ASP.NET 服务器控件为处理回发事件而必须实现的方法。
public void RaisePostBackEvent(string eventArgument)
{}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值