控制控件的样式
控件最终通常要生成HTML代码在客户端,这些HTML元素可以采用丰富的CSS样式。你当然可以直接进行CSS 设定,但是asp.net给控件开发者提供了编程方式控制样式的途径。
如果对样式无特殊要求,直接继承webControl的样式功能即可,如果需要修改或者扩充继承的样式功能,则需要深入了解控件样式的背景知识
WebControl的样式功能全部封装在ControlStyle属性中(一个名为Style System.Web.UI.WebControls.Style的属性)。所有样式属性都是ControlStyle属性的子属性。WebControl的ControlStyle的定义为:
Private Style _contentStyle;
……
public Style ControlStyle
{
get
{
if(_contentStyle = = null)
{
_contentStyle=CreateControlStyle();
if(IsTrackingViewState)
{
((IStateManager)_controlStyle).TrackViewState();
}
}
return _contentStyle;
}
}
我们看到,ControlStyle是只读属性,在第一次访问时被创建(这个思想继承了.net的JIT方案)。