2012-07-16 45 views
4

我想添加动态文字控件和动态按钮。动态文字控件里面的动态按钮

,所以我尝试这样的:

  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”不允许子控件。

我该如何解决这个问题?

回答

3

您需要使用的容器会牵着你的child controls (like button, literal, etc.),因此需要实施WebControl类。

文字不是派生自system.Web.UI.WebControls命名空间。因此不能收集控制。

基本上你需要使用服务器控件的基类定义的方法,属性和事件来共同System.Web.UI.WebControls命名空间中的所有控件。

如何做你的任务是什么?

阅读下面的MSDN文章 - How to: Add Controls to an ASP.NET Web Page Programmatically

0

由于this article指出,文字控制只不过是一个方式来显示页面上的文本更多。因此它不支持子控件。它拥有控件集合的原因是因为它从system.web.ui.control继承。

什么你将要使用的东西,不支持子控件,如asp.net panel

+0

这是Ajax的功能。我是Ajax新手。所以我想创建一些动态控件并分配它。我尝试像这样..我怎样才能返回PlaceHolder ??? [WebMethod] public static string loadCommCaseExample() { PlaceHolder PlaceHolder1 = new PlaceHolder(); Label myLabel = new Label(); myLabel.Text =“Label1”; myLabel.ID =“Label2”; PlaceHolder1.Controls.Add(myLabel); PlaceHolder1.Controls.Add(新LiteralControl( “
”)); 返回PlaceHolder1.ToString(); }但这是行不通的.... – user1348351 2012-07-16 05:02:42