2011-06-04 87 views
0

我試圖在dd標記內添加一個範圍,在一個定位點內。由於某種原因,這一點:在代碼隱藏中將控件添加到控件

protected Control MakeDD() { 
    var dd = new HtmlGenericControl("dd"); 
    var link = new HtmlGenericControl("a"); 
    var span = new HtmlGenericControl("span"); 

    link.Controls.Add(span); 
    dd.Controls.Add(link); 
    return dd; 
} 

僅產生

<dd><a></a></dd> 

,而不是

<dd><a><span></span></a></dd> 

我怎麼控件添加到控制,然後添加控制另一個控制?

+1

喲dawg,我聽說你喜歡控件,所以我們把一個控件放在你的控件中... – 2011-06-04 00:39:53

+0

我把你的代碼放到了一個webform中,並得到了你期望的res ULT。 – 2011-06-04 01:00:08

+0

我認爲問題在於我試圖添加的其中一個控件實際上是編寫了一個字符串,而不是創建控件。有人的自定義實現..任何人,感謝您的幫助 – tester 2011-06-06 17:33:04

回答

1

刪除一個頁面作爲容器上的面板和操作的方式:

 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      pnlTest.Controls.Add(MakeDD()); 
     } 

發射頁上的以下:

 
<div id="MainContent_pnlTest"> 

    <dd><a><span></span></a></dd> 
</div> 

這是asp.net 4

1

如果將某些值設置爲量程值,會發生什麼情況?

... 
var span = new HtmlGenericControl("span"); 
span.InnerHtml = "test"; 
link.Controls.Add(span); 
...