Как программно назначить экземпляр класса Image элементу управления Image? - PullRequest
0 голосов
/ 29 июля 2011

Еще один нубский вопрос от меня ... Извинения!

Мой исходный код будет следующим (это упрощенно):

Image pic = new Image();

pic.ImageUrl = "~/Images/photo.jpg";
pic.BorderColor = "Black";

Как я могу назначить объект изображения 'pic' элементу управления изображениями уже на моей странице ASP.NET?

Следующее не работает, но иллюстрирует, что я пытаюсь сделать:

MyImageControl = pic;

Я уверен, что должно быть более простое решение, чем:

MyImageControl.ImageUrl = pic.ImageUrl;
MyImageControl.BorderColor = pic.BorderColor;

Ответы [ 2 ]

2 голосов
/ 30 июля 2011

Если вы хотите динамически размещать элементы управления на странице, вам нужно сделать именно это.Есть контейнер, а затем добавить их в контейнер.Если у вас есть какой-то список или массив, в котором вы храните элементы управления, вам просто нужно перебрать коллекцию, установить любые нужные вам свойства и вызвать container.controls.add (control);Вы должны будете делать это каждый постбэк, так как их состояние не будет сохраняться.

Использование asp: Panel в качестве контейнера, в котором вы хотите, чтобы элементы управления отображались, является самым простым способом стилизовать и расположить элементы управления..

0 голосов
/ 30 июля 2011

РЕШЕНИЕ (перенесено из исходного поста) :

Я придумала что-то, что работает для меня, но все равно было бы интересно, если есть способ сделать то, что я просил выше - мое решение заключается в следующем ... Вместо того, чтобы иметь пустой контроль изображения в моем . ASPX странице, я изменил его для PlaceHolder вместо этого. Затем в коде C # я могу использовать следующее, чтобы добавить свое изображение на страницу:

MyPlaceHolder.Controls.Add(pic);
...