.net 自定义控件随笔

控件的元素

1.子控件

(1)一般自定义控件由一些基本的webcontrol组成的,可以实现某些特定的需要

2.属性

(1)在使用自定义控件的时候设置的参数(比如TextBox的Text),参数可用于对子控件的设置等

3.事件

(1)当自定义产生某些值变化时,可以触发,在使用控件的地方执行某些别的处理

4.常规函数

(1)用于控件内部的一些处理

5.重载函数

重载控件基类的方法,主要用于对子控件的定义与渲染。以下是几个比较常用的重载函数。

OnLoad:控件加载后调用,在这里可以做一些比较重要的权限验证,或者只是简单的处理。

Controls:获取存放子控件的容器

CreateChildControls:这个比较重要,在自定义控件中使用的子控件,需要在这里进行实例化,并将它们Add到容器中

OnPreRender:在自定义控件渲染到页面前调用,如果相对一些子控件做最后的样式调整或者向页面添加一些JS方法等,在这里可以进行

Render:最后一步将所有定义的子控件渲染到页面上


这里有个需要注意的地方:

(1)页面首次加载:OnLoad->CreateChildControls->OnPreRender->Render

(2)自定义控件触发事件加载:CreateChildControls->OnLoad->执行触发事件->OnPreRender->Render

也就是说,如果自定义控件上的一些显示需要根据执行完触发事件更新的话,不能在CreateChildControls处理需要在之后的OnPreRender或Render中处理。


下面来简单说一下,如果要做一个常用的分页控件,该怎么来实现

1.子控件

根据经验,一般一个分页控件包含如下一些元素

(1)每页显示的数据条数,比如(20,50,100),可以使用Button

(2)显示总记录数的文字区域,可以使用Literal

(3)上页或下页按钮,可以使用LinkButton

(4)分页组按钮,显示一些具体页数的(比如1,2,3..10),可以使用LinkButton

(5) 直接跳转功能,需要一个TextBox与一个LinkButton

2.属性

大概可以设置的一些属性

(1)如果支持每页显示1000的话,是否需要此子控件

(2)分页组的具体长度,可以1-5,也可以1-10等

(3)按钮的文字说明,比如增加英文与中文的区分

3.事件

主要用于自定义控件与外界的交互,比如

(1)每页显示条数发生变化,列表需要重新加载

(2)切换上一页或下一页时,列表需要重新加载

(3)直接跳转到某一页时,列表需要重新加载

4.常规函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值