2011-06-04 77 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); 
... 
相关问题