ASP.NET Image Control внутри панели - PullRequest
1 голос
/ 14 сентября 2010

У меня есть элемент управления панели, к которому я добавляю элементы управления изображением из кода позади.

Panel1.Controls.Add(new Image { ImageUrl = String.Format("img/{0}.gif", x) });

Однако, когда я пытаюсь получить доступ к новому элементу управления изображением для изменения определенных атрибутов, я получаю буквальный элемент управления вместо этого.

т.е.:

Panel1.Controls[0].Width=new Unit(10, UnitType.Pixel);

приводит к ... "Невозможно привести объект типа 'System.Web.UI.LiteralControl' к типу 'System.Web.UI.WebControls.Image'"

Почему ??Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 14 сентября 2010

В ASP.NET всегда есть буквальный элемент управления, связанный с любым элементом управления. Так что если вы найдете его по индексу, вы получите его в нечетных местах, таких как Panel1.Controls[1]

1 голос
/ 14 сентября 2010

Возможно, у вас внутри панели больше элементов управления, кроме изображения.

Попробуйте перебрать их:

foreach (Control ctrl in Panel1.Controls)
    if (ctrl is Image)
        ctrl.Width = new Unit(10, UnitType.Pixel);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...