在我的页面上,我有以下图像控件。
<asp:Image ID="Image1" ImageUrl="~/images/icons/returnarrow.gif" runat="server" />
然后在Page_Load上,我正在执行以下操作。
Image1.Controls.AddAt(1, new LiteralControl("ChildControl2"));
所以这应该做(理论上)是在图像旁边添加一个新的LiteralControl。但事实并非如此。但是,如果我将索引更改为0并将Image更改为GridView控件,则可以正常工作。
我做错了什么?
答案 0 :(得分:2)
不要修改Controls集合。请改用PlaceHolder。
答案 1 :(得分:1)
我不这么认为Image1.Controls.AddAt
会在Image控件旁边添加任何控件,因为Image1.Controls
是Image1
的子控件的集合,可能this.Controls.AddAt
会起作用
答案 2 :(得分:1)
您应该尝试在图像中嵌入另一个控件。使用PlaceHolder作为父容器,并将Image和Literal添加到PlaceHolder。