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