用户控制中的条件

本文关键字:条件 控制 用户 | 更新日期: 2023-09-27 18:37:16

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

假设我正在将我的用户控件添加到页面并设置如下内容:

userControl1.Type = Advanced;

userControl1.Type = Regular;

然后在我的多个地方的用户控件中,我有类似的东西:

    if Type ==Advanced
    gridview.DataSource=dataTableAdvanced;
    else if Type==Regular
    gridview.DataSource = dataTableRegular;

或类似的东西:

if Type==Advanced
dropdown1.Visible=true
else
dropdown1.Visible=false

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

用户控制中的条件

高级控件可以从常规控件派生,并重写设置依赖对象的方法。

class RegularControl
{
   public virtual void SetStuff() { //visible, data source, etc }
}
class AdvancedControl: RegularControl
{
   public override void SetStuff() { // same deal }
}

听起来你真的应该有 2 个控件,一个高级控件和一个常规控件。