我想添加动态文字控件和动态按钮。
所以我尝试这样:
Literal lit = new Literal();
lit.Text = lit.Text + theRow["CaseExampleDescription"].ToString() + "\n\n";
Button btn = new Button();
btn.ID = "btn1";
lit.Controls.Add(btn);
但是有错误-System.Web.UI.WebControls.Literal'不允许子控件。
我该如何解决这个问题?
答案 0 :(得分:3)
您需要使用容器来容纳您的child controls (like button, literal, etc.),
,因此需要实施WebControl类。
Literal 不是从system.Web.UI.WebControls命名空间派生的。因此无法收集控件。
基本上,您需要使用服务器控件作为基类,该基类定义System.Web.UI.WebControls命名空间中所有控件共有的方法,属性和事件。
如何完成任务?
阅读以下MSDN文章 - How to: Add Controls to an ASP.NET Web Page Programmatically
答案 1 :(得分:0)
正如this article所指出的,文字控件只不过是一种在页面上显示文本的方法。因此,它不支持子控件。它具有控件集合的原因是因为它继承自system.web.ui.control。
您想要使用支持子控件的内容,例如asp.net panel。