当前位置: 代码迷 >> ASP.NET >> |M| 幕白兄写的一个控件自定义控件里面添加的控件的显示方法 大家看看能怎样改进,该如何处理
  详细解决方案

|M| 幕白兄写的一个控件自定义控件里面添加的控件的显示方法 大家看看能怎样改进,该如何处理

热度:5569   发布时间:2013-02-26 00:00:00.0
|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
  相关解决方案