2012-07-16 49 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