| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > Прошу помощи для студента.Вопрос о Repeater. |
| Автор: shark1 2.3.2008, 13:44 | ||
Вот пытаюсь сделать выборку с помощю Repeater.Пишу так :
но почемуто фото не отображаются,хотя во время что я определяю SqlDataSource я фото вижу.Зарание спасибо. |
| Автор: Mymik 2.3.2008, 19:33 |
| я подозреваю, что фото не отображается по той причине, что ImageUrl не правильный. Т.е. туда подставляется какой-то путь, но он наверняка относительный, а значит он вычисляется относительно url в адресной строке браузера. |
| Автор: anonym 2.3.2008, 22:13 |
| Или другой вариант - фото лежат в какой-нибудь защищённой папке типа App_Data или App_Code. |
| Автор: shark1 2.3.2008, 23:25 |
| Mymik вы правы,фото не наместе,но вот что странно,когда я создавал SqlDataSource,я же их видел ?Странно.А тогда можно небольшой римерчик ,как отобразить картинки на странице.Зарание спасибо. |
| Автор: shark1 3.3.2008, 10:54 |
| Mymik спасибо большое это я усвоил.А вот как теперь сделать чтоб для каждого FirstName,LastName чтоб получали каждый свою фотографию.Большое спасибо. |
| Автор: Mymik 3.3.2008, 13:28 |
| дык ты ж используешь Repeater, ты забираешь данные из субд, возможно там у всех твоих записей одинаковые картинки. Измени данные в СУБД и ты увидишь как картинки изменятся. |
| Автор: shark1 4.3.2008, 20:48 |
| Mumik спасибо за помощь,но в том то и дело что в базе разние картинки :(.А немогли бы вы для меня непутевого набросать маленький примерчик.Просто очень хочетса научитса как из базы доставать картинки и чтоб они становились в нужные места.Зарание спасибо. |
| Автор: Mymik 4.3.2008, 22:54 | ||
ну во-первых я Mymik. Во-вторых нет. Давай сам пиши. Показывай приходящие данные. Или приведи пример базы данных покажи что возвращает. Что ж тут не работает. |
| Автор: shark1 5.3.2008, 09:57 | ||||||
| Mymik извени.База(Access) выглядит так : ID-Autonumber FirstName-text FirstName-text Photo-OLE Object Link -text(папка на компе где хранятся photo) возвращает все данние,только вместо картинок показивает ярлычки. Делаю так:
Подскажи в чем я ошибаюсь.Зарание спасибо. |
| Автор: Mymik 5.3.2008, 10:33 | ||
| shark1, ну так ты ж везде подставляешь одинаковый ImageUrl, а тебе нужно подставлять его. при это, у тебя поле Photo является OLE (т.е. там внутри храняться уже файлы). Следовательно, для того чтобы отобразить это поле, тебе нужно создать отдельный файл. Желательно ashx (Web Handler). В который ты будешь передавать ID записи и по этому ID будешь вытаскивать Photo из базы и писать эти данные в Response. http://www.aspfree.com/c/a/ASP.NET/Retrieving-Images-from-a-Database--C---Part-II/, но там они реализовывают через ViewImage.aspx файл, что тебе не нужно, это не правильно по той причине, что в aspx очень длинный цикл жизни, а у ashx вызывается только один метод и все (т.е. прирост в скорости). Добавлено через 5 минут и 51 секунду мдя... но если у тебя есть поле Link где хранятся фото... хм, тогда действуем по другому Тогда представим что в Link хранится что-то типа "1.jpg" И ты знаешь, что все эти файлы хранятся в "~/images/users/" Из этого следует, что наш Image в Repeater'е должен выглядить вот так вот -->>
Вот и все. Вот так вот все должно работать |
| Автор: shark1 5.3.2008, 21:09 |
| Да чтож я такой непутевый,и так у меня не работает,пишет ошибку что адресс фото не коректный,сделал другую DB,оставил только имя,фамилия и линк(это где в папке хранятся картинки),и все равно не показивает :( :(. |
| Автор: MaxWave 5.3.2008, 21:31 | ||||||
shark1
Эммм, у тебя случаем не подсвечивается строчка красным??? Чтобы забиндить свойство контрола нужно выражение обернуть в кавычки! Вот так:
Но тогда в скобки нельзя будет записать слово в кавычках. И Eval заюзать не выйдет... Сделай функцию getImage внутри класса страницы и возвращай путь.. Типа так
|
| Автор: shark1 5.3.2008, 22:05 |
| одну секундочку,почему если я делаю так в обычной таблице:ImageUrl="C:\Documents\images\1.jpg" то я все равно не вижу картинку,может что то в настройках :(.Спасибо. |
| Автор: MaxWave 5.3.2008, 22:51 |
| Да, странно. |
| Автор: shark1 5.3.2008, 23:17 |
| Да так работает :ImageUrl="~/image/1.jpg. Я просто не успел ответить,я сделал так : <td style="width: 100px"> <asp:Image ID="Image2" runat="server" ImageUrl="~/image/1.jpg" /> </td> но вопрос с Repeater так и не решил,подскажи плиззз как сделать функцию getImage внутри класса страницы.Зарание спасибо большое. |
| Автор: MaxWave 6.3.2008, 00:06 | ||
примерно так:
|
| Автор: shark1 6.3.2008, 00:42 |
| MaxWave спасибо тебе огромное но увы и так тоже не работает. :( не понимаю в чем дело.Может быть можно подругому как то вытащить фото из DB.Спасибо. |
| Автор: Mymik 6.3.2008, 01:23 | ||
это политика браузеров. Нельзя обращаться из интернета к локальным ресурсам (за исключением нескольких файлов из временных файлов) Открой исходный код страницы и посмотри почему image указывает на ошибочный путь. Посмотри что в этом путе не правильного и тогда уже исправляй. А так, сетовать на то что у тебя что-то не получается, но при этом ничего не показывать... ну вобщем мы конечно уже мастера яснослышанья, но все же никак не можем тебе помочь... наверное это только на некоторых действует. |
| Автор: shark1 6.3.2008, 15:08 |
| Mymik странно но фото лежит дествительно в этой папке.Ладно.Но всетаки прошу пожалусто если можно для примера киньте какой нибудь примерчик кот. работает с DB(Access или SQL),чтоб посмотреть как же можно так сделать чтоб доставать катринки из DB и чтоб они становились в нужные места.Зарание огромное спасибо. |
| Автор: MaxWave 6.3.2008, 21:07 |
| У тебя картинки где? В базе или на диске? Если на диске то должны быть в папке с айтом. Если в БД то тут надо по своему выковыривать. Если у тебя в БД пути прописаны с файлам на диске, то пути соответственно должны быть корректными. |
| Автор: shark1 7.3.2008, 14:34 |
| У меня есть db Access с путями к фотографиям или можно попробовать и просто чтоб картинки были на диске в какойто папке.Если можно то я би хотел посмотреть как делается и в одном и в другом случае.Как же это работает.Зарание спасибо. |
| Автор: shark1 7.3.2008, 21:51 |
| Плиззззз подскажите не оставляйте меня так,подскажите пожалусто.Спасибо. |
| Автор: shark1 11.3.2008, 10:50 |
| Уважаемые учителя.Плиззз, перебрал море вариантов |