假设我有一个用户控件,有下拉列表/文本框/网格视图等。 所有这些都由参数(或几个参数)控制
假设我正在将我的usercontrol添加到页面并设置如下内容:
userControl1.Type = Advanced;
或者
userControl1.Type = Regular;
然后在我的多个地方的usercontrol中,我有类似的东西:
if Type ==Advanced
gridview.DataSource=dataTableAdvanced;
else if Type==Regular
gridview.DataSource = dataTableRegular;
或类似的东西:
if Type==Advanced
dropdown1.Visible=true
else
dropdown1.Visible=false
如果我有参数,控制就会很快变得混乱,比方说有五个不同的值。有没有更好的技术来做到这一点?
答案 0 :(得分:4)
您的高级控件可以从常规控件派生,并覆盖设置从属对象的方法。
class RegularControl
{
public virtual void SetStuff() { //visible, data source, etc }
}
class AdvancedControl: RegularControl
{
public override void SetStuff() { // same deal }
}
答案 1 :(得分:1)
听起来你应该有2个控件,一个是Advanced,一个是Regular。