2008-01-07
我也抛块砖 - 关于表单/控件的通用性
刚翻阅了 金色海洋(jyk)同志的一篇基类、接口的应用,感觉还是比较好玩的,于是看了下,写点由此引发的砖~![]()
比如一个数据库表有两个字段,分别是:城市,地址。在页面上表示的时候呢,城市用下拉框表示,地址用textbox表示。
这里呢,还是一个中心(接口IControl.cs),两个基本点(控件DuTextBox,DuDropDownList)。
先发一下代码:
IControl.cs:
1
using System;2
using System.Data;3
using System.Configuration;4
using System.Web;5
using System.Web.Security;6
using System.Web.UI;7
using System.Web.UI.WebControls;8
using System.Web.UI.WebControls.WebParts;9
using System.Web.UI.HtmlControls;10

11

12

13
namespace DuControl14


{15

/**//// <summary>16
/// 控件接口17
/// </summary>18
public interface IControl19

{20
string DuValue21

{22
get;23
set;24
}25

26
string DuText27

{28
get;29
set;30
}31
}32
}DuTextBox:
1
using System;2
using System.Data;3
using System.Configuration;4
using System.Web;5
using System.Web.Security;6
using System.Web.UI;7
using System.Web.UI.WebControls;8
using System.Web.UI.WebControls.WebParts;9
using System.Web.UI.HtmlControls;10

11

12
namespace DuControl13


{14

/**//// <summary>15
/// DuTextBox 的摘要说明16
/// </summary>17
[ToolboxData("<{0}:DuTextBox runat=\"server\"></{0}:DuTextBox>")]18
public class DuTextBox : TextBox, IControl19

{20
public DuTextBox()21

{ 22
}23

24
public string DuText25

{26
get27

{28
return this.Text;29
}30
set31

{32
this.Text = value;33
}34
}35

36
protected override void OnPreRender(EventArgs e)37

{38
//这里可以注册一些验证用的js到form上,这样在提交时自动验证。39
//由于迷糊着要睡了,所以这块懒的写。40
base.OnPreRender(e);41
}42

43
public string DuValue44

{45
get46

{47
return this.Text;48
}49
set50

{51
this.Text = value;52
}53
}54
}55
}DuDropDownList:
1
using System;2
using System.Data;3
using System.Configuration;4
using System.Web;5
using System.Web.Security;6
using System.Web.UI;7
using System.Web.UI.WebControls;8
using System.Web.UI.WebControls.WebParts;9
using System.Web.UI.HtmlControls;10

11
namespace DuControl12


{13

/**//// <summary>14
/// DuDropDownList 的摘要说明15
/// </summary>16
[ToolboxData("<{0}:DuDropDownList runat=\"server\"></{0}:DuDropDownList>")]17
public class DuDropDownList : DropDownList, IControl18

{19
public DuDropDownList()20

{21
22
}23

24
protected override void OnPreRender(EventArgs e)25

{26
//这里可以注册一些验证用的js到form上,这样在提交时自动验证。27
//由于迷糊着要睡了,所以这块懒的写。28

29
base.OnPreRender(e);30
}31

32

33
public string DuText34

{35
get36

{37
return this.SelectedItem.Text;38
}39
set40

{41
this.SelectedItem.Value = value;42
}43
}44

45

46
public string DuValue47IMG







评论排行榜