usercontrol中的条件

时间:2012-06-15 18:23:03

标签: c# asp.net vb.net user-controls

假设我有一个用户控件,有下拉列表/文本框/网格视图等。 所有这些都由参数(或几个参数)控制

假设我正在将我的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

如果我有参数,控制就会很快变得混乱,比方说有五个不同的值。有没有更好的技术来做到这一点?

2 个答案:

答案 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。