Asp.net 为什么不';是否所有具有文本属性的System.Web.UI.WebControl类都实现ITextControl?
我很好奇为什么只有一些Asp.net 为什么不';是否所有具有文本属性的System.Web.UI.WebControl类都实现ITextControl?,asp.net,web-controls,Asp.net,Web Controls,我很好奇为什么只有一些System.Web.UI.WebControl控件在具有相同接口属性的情况下实现某些接口 例如,有很多控件具有文本属性,但只有以下实现ITextControl: 标签 文字的 数据边界文字 文本框 列表控件 (TextBox和ListControl实际上实现了IEditableTextControl,后者实现了ITextControl) TableCell、Button、HyperLink和其他都没有,所以我必须这样编写代码 ITextControl textCont
System.Web.UI.WebControl
控件在具有相同接口属性的情况下实现某些接口
例如,有很多控件具有文本属性,但只有以下实现ITextControl
:
- 标签
- 文字的
- 数据边界文字
- 文本框
- 列表控件
ITextControl textControl = control as ITextControl;
TableCell tableCell = control as TableCell;
if (textControl != null)
{
textControl.Text = value;
}
else if (tableCell != null)
{
tableCell.Text = value;
}
而不是这个
control.Text = value;
这是一个设计决定还是一个疏忽?我认为它是设计好的,我不认为它是疏忽;这些是控件,其中文本是控件目的的主要焦点。我确实明白你的观点,因为让控件使用更多此类接口将非常方便。问得好。我认为HtmlControl和WebControl之间的区别。但是我很想听到更多关于这个的背景…@Sunny我能理解一个是HtmlControl,另一个是WebControl,但是不同的WebControl之间有区别。