Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод картинки в GridView не работает... 
:(
    Опции темы
cosamia
Дата 1.5.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



есть класс: 
class A{
...

PictureClass pic;//поле -картинка
...
}

PictureClass pic{
int pic_id,
byte[] bytes,
....
}

т.е.в классе А, поле pic представленно в виде экз. типа другого класса
далее хочу вывести данные из класса А в GridView.

вывожу обычные поля, а для картинки создаю поле ImageField, где:

DataImageField указывает на pic_id
DataImageUrlFormatString на "DisplayImage.aspx?id={0}"

DisplayImage.aspx все что делает - это соеденятся с БД и выводит ту картинку которыя имеет указанный id.

однако здесь есть 2 большие проблемы и вопроса:

1) при попытке вывести картинку указанным способом получаю ошибку:
A field or property with the name 'pic.pic_id' was not found on the selected data source. 
почему это не понятно...
у класса А есть поле pic которое в свою очередь имеет поле pic_id
данные передаются заполенными, т.е. те данные что я запрашиваю существуют и заполнены в экземпляре класса.
тогда в чем проблема?


2) собственно экз. класса уже содержит массив байт с картинкой, поэтому приведенный выше неработающий пример выполняет двойную работу что мне совсем не нужно.
как же мне вывести байт-данные картинки которые уже находятся в классе?


 


PM   Вверх
Mymik
Дата 6.5.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(cosamia @  1.5.2007,  16:07 Найти цитируемый пост)
т.е.в классе А, поле pic представленно в виде экз. типа другого класса

Это один из видов наследовании в программировании

Цитата(cosamia @  1.5.2007,  16:07 Найти цитируемый пост)
1) при попытке вывести картинку указанным способом получаю ошибку:
A field or property with the name 'pic.pic_id' was not found on the selected data source. 
почему это не понятно...
у класса А есть поле pic которое в свою очередь имеет поле pic_id
данные передаются заполенными, т.е. те данные что я запрашиваю существуют и заполнены в экземпляре класса.
тогда в чем проблема?

Тут действует по другому. Смотри, ты передал коллекцию каких-то данных. И Eval Не будет искать твои данные непосредственно в полях, которые могут являться ссылками на другие классы. Ведь так можно создать циклический список и тогда все пойдет крахом ;о).
Т.е. тебе нужно написать что-то типа
Код

<%# ((PictureClass)Eval("pic")).pic_id.ToString() %>

Тут получается, что Eval возвращает объект, который ты приводишь к виду своего класса и вызываешь поле из этого класса. Т.е. ты создаешь полную цепочку данных.


Цитата(cosamia @  1.5.2007,  16:07 Найти цитируемый пост)
как же мне вывести байт-данные картинки которые уже находятся в классе?

К сожалению никак нельзя :о( нужно создавать отдельную страницу, в которую передавать параметры (как ты и делаешь) и там уже переопределять Response.ContentType();


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Mymik
Дата 6.5.2007, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(Mymik @  6.5.2007,  15:01 Найти цитируемый пост)
И Eval Не будет искать твои данные непосредственно в полях, которые могут являться ссылками на другие классы.

Вот это я сморозил :о). Я имел ввиду, что Eval как бы возвращает объект, а потом этот объект преобразуется в строку. Но он ищет только в этой коллекции, а в следующих уровнях он не ищит :о)


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.