1

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

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

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

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

4

2 回答 2

4

您的高级控件可以从您的常规控件派生并覆盖设置依赖对象的方法。

class RegularControl
{
   public virtual void SetStuff() { //visible, data source, etc }
}
class AdvancedControl: RegularControl
{
   public override void SetStuff() { // same deal }
}
于 2012-06-15T18:27:03.413 回答
1

听起来你真的应该有 2 个控件,一个 Advanced 和一个 Regular。

于 2012-06-15T18:25:56.120 回答