public class SqlDataSource : DataSourceControl
{
  ......
}public abstract class DataSourceControl : Control, IDataSource, IListSource
{       .........
        [DefaultValue(false)]
        [EditorBrowsable(EditorBrowsableState.Never)]
        [Browsable(false)]
        public override bool Visible { get; set; }
        .........
}
从上面的简略代码可以看出, System.Web.UI.WebControls.SqlDataSource是继承于DataSourceControl ,
而且DataSourceControl 是有一个public的Visible 属性, 那么为什么System.Web.UI.WebControls.SqlDataSource的实例没有Visible这个属性呢?  谢谢。

解决方案 »

  1.   

    [EditorBrowsable(EditorBrowsableState.Never)]
    [Browsable(false)]看这两个attribute,DataSource控件本身就没界面不需要显示
      

  2.   

    datasource只是个为gridview等等提供数据的一个数据源,显示本身就不是datasource的任务。
      

  3.   


    你的意思是说:
    [EditorBrowsable(EditorBrowsableState.Never)]
    [Browsable(false)]
    控制了Visible属性的可不可用?据我验证, 自己写的一个类MyClass, 里面的一个属性MyName加上:
    [EditorBrowsable(EditorBrowsableState.Never)]
    [Browsable(false)]但是MyClass myclass = new MyClass();
    myclass.MyName 仍然是可以访问的。
      

  4.   


    datasource也是一个control, 所有control都会有Visible属性, 只是我不知道DataSource是怎么控制Visible属性不能被访问的, 望大家多多指教。 谢谢。
      

  5.   

    SqlDataSource控件不在客户端呈现,不存在Visible的问题。
    有些属性对这些控件是没用的。