日期:2014-05-19  浏览次数:20433 次

|M| 幕白兄写的一个控件自定义控件里面添加的控件的显示方法 大家看看能怎样改进
http://community.csdn.net/Expert/topic/5439/5439450.xml?temp=.8983271
protected   override   void   RenderChildren(HtmlTextWriter   writer)
                {
                        WebControl   c   =   (WebControl)this.Controls[0];
                        System.IO.StringWriter   sw   =   new   System.IO.StringWriter();

                        HtmlTextWriter   wt   =   new   HtmlTextWriter(sw);

                        c.RenderControl(wt);

                        writer.Write(sw.ToString().Replace( "display:none ",   " "));
                        wt.Close();
                        sw.Close();


                        c   =   (WebControl)this.Controls[1];
                        c.RenderControl(writer);
                       
                }

我菜
在这里我大致理解为
得到要改的控件   显示在HTML中的文本
用Replace去掉display:none

方法可以满足我现在的要求,但是要是我想给这个控件添加比如:背景,边框,或其他的属性的话好像这段程序就没有办法了..
有没有像


------解决方案--------------------
mark~~~~~~
------解决方案--------------------
但是要是我想给这个控件添加比如:背景,边框,或其他的属性的话好像这段 ============== 是给父控件加吗?直接改父控件的style
------解决方案--------------------

那么你就不应该在Render里操作HTML文字,而是通过服务器控件来修改属性,或者从服务器控件继承来修改输出(譬如改动TAG),或者看一下控件适配器

http://blog.joycode.com/scottgu/archive/2006/12/01/88374.aspx