На моей странице у меня есть следующий элемент управления изображением.

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

Затем на Page_Load я делаю следующее.

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

Итак, что это должно сделать (теоретически), так это добавить новый LiteralControl рядом с изображением. Но это не так. Однако, если я изменю индекс на 0 и изображение на элемент управления GridView, он будет работать.

Что я делаю не так?

0
tmutton 26 Авг 2011 в 13:23

3 ответа

Лучший ответ

Не изменяйте коллекцию Controls. Используйте PlaceHolder вместо этого.

2
onof 26 Авг 2011 в 09:45

Я не думаю, что Image1.Controls.AddAt добавит какой-либо элемент управления рядом с элементом управления изображением, потому что Image1.Controls представляет собой набор дочерних элементов управления для Image1, возможно, this.Controls.AddAt будет работать

1
Waqas 26 Авг 2011 в 09:46

Вы должны попытаться встроить в изображение другой элемент управления. Используйте PlaceHolder в качестве родительского контейнера и добавьте Image и Literal в PlaceHolder.

1
James Johnson 26 Авг 2011 в 17:23