使用AddAt方法添加控件时出现问题[ASP.NET]

时间:2011-08-26 09:23:33

标签: asp.net controls

在我的页面上,我有以下图像控件。

    <asp:Image ID="Image1" ImageUrl="~/images/icons/returnarrow.gif" runat="server" />

然后在Page_Load上,我正在执行以下操作。

    Image1.Controls.AddAt(1, new LiteralControl("ChildControl2"));

所以这应该做(理论上)是在图像旁边添加一个新的LiteralControl。但事实并非如此。但是,如果我将索引更改为0并将Image更改为GridView控件,则可以正常工作。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

不要修改Controls集合。请改用PlaceHolder

答案 1 :(得分:1)

我不这么认为Image1.Controls.AddAt会在Image控件旁边添加任何控件,因为Image1.ControlsImage1的子控件的集合,可能this.Controls.AddAt会起作用

答案 2 :(得分:1)

您应该尝试在图像中嵌入另一个控件。使用PlaceHolder作为父容器,并将Image和Literal添加到PlaceHolder。