asp.net控件的显示自然会离不开输出html、css、javascript等前台的显示内容,所以开发一个控件的时候第一件事就是要知道如何输出客户端要显示的内容。
一、选择基类
asp.net中所有的标准控件都可以拿过来作为基类,如果我们要开发的控件只是对原有的标准控件做一些功能上的加强的话(如:你对TreeView的CheckBox添加一些随动的功能),就可以直接拿标准控件过来作为基类。
一般的如果开发的控件从标准里面找不到合适的,可以从三个类中来继承:
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.CompositeControl
下面介绍下这三个类的关系跟区别:
...
我们开发出来的控件一般都需要跟使用控件的人编程人员交互,其中交互有两个途径:一个是属性还有就是事件。属性可能是简单的类型如:int、string等并不太复杂的类型,也有比较复杂的类型如:集合。
一、属性实现交互
我们还是沿用上面的例子来添加属性 PicShow示例:
public class PicShow : Control
{
private string _imgUrl;
//属性
public virtual string ImgUrl
{
get
{
return this._imgUrl;
}
set
{
this._imgUrl = value;
}
}
protected override void Render(HtmlTextWriter writer)
{
writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center");
writer.Ad...
public void CreateDataGrid() { DataTable flowTable=new WorkFlowBLL().GetFlowTableByCode(FunctionCode); foreach(DataRow dataRow in flowTable.Rows) { Table table=new Table(); table.CellPadding=0; table.CellSpacing=0; table.Width=Unit.Percentage(98); table.Attributes.Add("align","center"); table.Attributes.Add("style","HEIGHT:expression(document.body.offsetHeight-ToolBar.offsetHeight-SpaceBar.offsetHeight-33)"); table.CssClass="plPanelU...