问题:
aspx页面中有一个已经设置好了属性的控件,如WebMenu,在后台程序中要动态创建多个WebMenu控件,新创建的控件想和页面中的那个控件属性相同(属性设置比较多)
不知道如何clone 控件 谢谢

解决方案 »

  1.   

    没有这个现成的功能。看看它有没有ISerializable接口,如果有可以利用来创建复制了关键属性的控件。如果你的自定义控件,你应该“显式”定一个复制的方法,例如
      virtual protected Control CreateNewControl(){return null};
    然后在代码中使用这个功能。
      

  2.   

    asp.net没有为控件定义深层复制的接口,我觉得这是很明智的。一个明显在很高层次(很抽象层次)不可能实用起来的“成事不足”的接口还是不定义,让每一个子系统自己去定义自己的,等将来如果搞清楚了共性再在必要时再加入高层次的框架中比较好。
      

  3.   

    可以把属性保存为skin。然后其它控件动态的加上这个skin。