Создайте изображение и динамически измените его источник - PullRequest
0 голосов
/ 09 августа 2011

Я хотел бы изменить источник изображений на основе ссылки в базе данных. Я получаю объект не установлен в качестве ссылки на пустое сообщение на некоторых из моих страниц. Вот код, который я пытаюсь использовать для приведения изображения. Он работает с закомментированным кодом для всех страниц, но примерно с тремя ... единственная причина, по которой я думаю, что он ломается, заключается в том, что на этих страницах используется унаследованная главная страница, на которой расположен логотип. image.Src в последней части оператора if, он не имеет .Src доступен. Есть ли способ динамически изменить источник изображения? Спасибо!

                if (row.ImageString != "")
                {
                    //imgLogo.Src = "~" + row.ImageString;
                    Image image = new Image();
                    image.FindControl("imgLogo");
                    image.Src = "~" + row.ImageString; 
                }

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Вы получаете нулевую ссылку из-за главной страницы.Если вы используете .Net 4.0, вам нужно установить статический идентификатор ClientID для элемента управления изображением.
Если вы используете .Net до 4.0, вам нужно посмотреть на исходный код, который отображается при сборке / запуске страницыи найдите элемент управления изображением и посмотрите на идентификатор элемента управления.Иногда он будет отображаться как Content.ImageName или Content_ImageName .... Скопируйте это в ваш метод image.Findcontrol.
Это исправит ошибку.

0 голосов
/ 09 августа 2011

Я думаю, вам нужно что-то еще подобное:

Image image = row.FindControl("imgLogo");
image.ImageUrl = "~" + row.ImageString;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...