日期:2014-05-18  浏览次数:20403 次

关于动态想服务器控件添加HTML标签的问题!
本人想在后台灵活的向服务器控件添加HTML标签,比如一个Panel服务器控件,现在我想在Page_Load事件中动态的向这个Panel添加一个标签DIV
我知道Panel有个方法RenderBeginTag(HtmlTextWriter)但是我却不知道如何去运用,能不能达到我要的效果也不知道,更可笑的是我不知道这个HtmlTextWriter应该如何定义才对。
最终我用的办法是
定义一个类派生自   Control重写Render方法在次方法中添加我要加入的DIV等标签然后在原来的Page_Load事件中实例化这个test类,用Panel.Controls.Add()方法才把这个DIV顺利的添加进去,实际上这就是开发了一个自定义控件而已,对于我当前来讲毫无意义,
现在就请问各位看官有没有什么好的办法能够帮助我呢??
小弟谢谢了,这是一个我困扰以久的问题啊
public   class   test   :   Control
{
        protected   override   void   Render(HtmlTextWriter   writer)
        {
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.RenderBeginTag(HtmlTextWriterTag.B);
                writer.WriteEncodedText( "Hello ");
                writer.RenderEndTag();
                writer.RenderEndTag();
        }
}

------解决方案--------------------
HtmlGenericControl div = new HtmlGenericControl( "div ");
Panel p = new Panel();
p.Controls.Add(div);