以下覆盖DataSource的任何危险

时间:2011-01-04 20:02:12

标签: asp.net data-binding

class MyListControl : DropDownList {
  public override object DataSource {
    get { return Helper.GetDictionary(); }
    set { }
  }
  public override string DataTextField {
    get { return "Key"; }
    set { }
  }
  public override string DataValueField {
    get { return "Value"; }
    set { }
  }
  public override void DataBind() {
    if (Helper.ConditionSatisfied) {
      base.DataBind();
    }
  }
}

ASP.NET是否需要使用set_DataSource()?并且是否有任何引用可以多次调用get_DataSource()(当迭代器可能无法重置时迭代集合)?

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定你使用set_DataSource是什么意思? 当然它确实例如:

myDropDownBox.DataSource = MyBLLayer.GetSomeDataSet(SomeParams);

myDropDownBox.DataBind();

在上面的示例中,MyBLLayer只是一个静态类,它调用返回某种数据集的方法。例如,该数据集可以是List。

RequiresDataBinding在基类中受到保护,因此不会覆盖此属性。在任何情况下,您都不希望覆盖此属性,因为它的值只是True或False。