<script type="text/JavaScript"> </script> <script src="http://a.alimama.cn/inf.js" type="text/javascript"></script>
前一段时间写了几篇关于控件开发的文章,一直没有一个实战的控件出来。年前的一个项目中,发现一个比较好的效果,后来为了方面开发,就开发成了一个容器控件。来看控件的几个效果图:
运行效果图:
设计时的效果图:
控件的原理
很显然控件的最外层是标签<fieldset></fieldset>,内容部分是包在内部的一个<div></div>里面的,通过控制div的display来实现效果的。大体的前台html结构:
<fieldset>
<legend>测试例子</legend>
<div>
测试例子的内容
</div>
</fieldset>
UpdownPanel的实现
首先,确认UpdownPanel控件不需要继承某一个控件,但需要一些设计时的支持,如:边框的颜色、高、宽,所以可以确定控件继承于WebControl。控件标签的内容要解释成子控件,同时需要支持事件回传来通知是否已经打开,所以控件还需要继承IPostBackEventHandler。
我们先来看控件的属性:
/// <summary>
/// 标题
/// </summary>
public string Title
{
get
{
if (ViewState[ " Title " ] == null )
return String.Empty;
return ViewState[ " Title " ].ToString().Trim();
}
set
{
ViewState[ " Title " ] = value;
}
}
/// <summary>
/// 距离左边距离
/// </summary>
public