0

我的 page.aspx 中有两个占位符:

<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

// Other tags

<asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>

我在 page.aspx.cs 中创建了一个 HtmlGenericControl,并希望将它添加到两个 PlaceHolders 中:

HtmlGenericControl NewControl = new HtmlGenericControl("div");
NewControl.ID = "newDIV";
NewControl.Attributes.Add("class", "myClass");
NewControl.InnerHtml = "**myContent**";
PlaceHolder1.Controls.Add(NewControl);
PlaceHolder2.Controls.Add(NewControl);

问题是只有最后一个 Add才生效!

线

PlaceHolder1.Controls.Add(NewControl);

不工作!

我错了吗 ?

提前致谢。

4

1 回答 1

1

一个控件不能是多个父控件的子控件。您必须创建 HtmlGenericControl 两次:

Func<HtmlGenericControl> createControl = () => {
    HtmlGenericControl newControl = new HtmlGenericControl("div");
    newControl.ID = "newDIV";
    newControl.Attributes.Add("class", "myClass");
    newControl.InnerHtml = "**myContent**";
    return newControl;
};

PlaceHolder1.Controls.Add( createControl() );
PlaceHolder2.Controls.Add( createControl() );
于 2014-08-10T07:46:04.727 回答