Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向codebehind中的控件添加控件_C#_Asp.net - Fatal编程技术网

C# 向codebehind中的控件添加控件

C# 向codebehind中的控件添加控件,c#,asp.net,C#,Asp.net,我试图在锚点和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);

我试图在锚点和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>


如何将控件添加到一个控件中,然后将该控件添加到另一个控件中?

如果将某个值设置为跨度值,会发生什么情况,然后会显示该值吗

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

将面板作为容器放置在页面上,然后执行以下操作:

protected void Page_Load(object sender, EventArgs e) { pnlTest.Controls.Add(MakeDD()); } 受保护的无效页面加载(对象发送方、事件参数e) { 添加(MakeDD()); } 在页面上发出以下信息:

<div id="MainContent_pnlTest"> <dd><a><span></span></a></dd> </div>
这是asp.net 4

Yo dawg,我听说你喜欢控件,所以我们在你的控件中放了一个控件…我将你的代码放到了一个Web表单中,得到了你预期的结果。我相信问题是我试图添加的一个控件实际上是在编写字符串,而不是创建控件。某人的自定义实现。。不管是谁,谢谢你的帮助