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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прошу помощи для студента.Вопрос о Repeater. Вопрос о Repeater. 
:(
    Опции темы
shark1
Дата 2.3.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот пытаюсь сделать выборку с помощю Repeater.Пишу так :
Код

<asp:Repeater ID="Repeater1" runat="server" 
DataSourceID="SqlDataSource1" >
    <HeaderTemplate><asp:Label runat="server" ID="Header1" 
        BackColor="DarkOrange" ForeColor="ActiveCaptionText"
        Font-Bold="true" Font-Underline="true" Font-Size="Large">
        We present our valued Employees!</asp:Label>
        <table>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
         <td>
           <asp:Panel ID="Panel1" runat="server" 
            BackColor="LightPink">
           <asp:Image ID="Photo" runat="server" ImageUrl=<%# Eval("PhotoPath")%>/>
               <%# Eval( "TitleOfCourtesy") %>
               <%# DataBinder.Eval(Container.DataItem,"FirstName") %>
               <%# DataBinder.Eval(Container.DataItem,"LastName") %>
               was born in <%# Eval("BirthDate","{0:dd.MM.yyyy}") %>.<p>
               <%# Eval("TitleOfCourtesy").ToString() == "Mr." 
|| Eval("TitleOfCourtesy").ToString() == "Dr." ? "He" : "She"%>
               lives in beautiful city 
               <%# ((System.Data.DataRowView)Container.DataItem)["City"]%>,
               <%# Eval( "Region") %> in
               <%# DataBinder.Eval(Container.DataItem,"Country") %>.</p>
               <p>We appreciate <%# Eval("TitleOfCourtesy").ToString() == "Mr." || 
                  Eval("TitleOfCourtesy").ToString() == "Dr." ? "his" : "her"%> 
                  work as <%# Eval("Title") %>.</p>
               <p><%# DataBinder.Eval(Container.DataItem,"Notes") %></p>
            </asp:Panel>
         </td>
       </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table></FooterTemplate>
</asp:Repeater> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
        SelectCommand="SELECT * FROM [Employees]" 
></asp:SqlDataSource>


но почемуто фото не отображаются,хотя во время что я определяю SqlDataSource я фото вижу.Зарание спасибо. 
PM MAIL   Вверх
Mymik
Дата 2.3.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



я подозреваю, что фото не отображается по той причине, что ImageUrl не правильный. Т.е. туда подставляется какой-то путь, но он наверняка относительный, а значит он вычисляется относительно url в адресной строке браузера.


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

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


Шустрый
*


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

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



Или другой вариант - фото лежат в какой-нибудь защищённой папке типа App_Data или App_Code.
PM MAIL   Вверх
shark1
Дата 2.3.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Mymik вы правы,фото не наместе,но вот что странно,когда я создавал SqlDataSource,я же их видел ?Странно.А тогда можно небольшой римерчик ,как отобразить картинки на странице.Зарание спасибо.
PM MAIL   Вверх
Mymik
Дата 3.3.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(shark1 @  2.3.2008,  23:25 Найти цитируемый пост)
когда я создавал SqlDataSource,я же их видел ?
А причем тут SqlDataSource к картинкам ??? он выбирает данные из базы и отдает их кому-либо. Я что-то не понимаю ход твоих мыслей.

Цитата(shark1 @  2.3.2008,  23:25 Найти цитируемый пост)
А тогда можно небольшой римерчик ,как отобразить картинки на странице
Обычно делают двумя способами. Первый способ очень простой
Код

<img src="images/bla-bla.jpg" width="80px" height="10px" alt="" title="" />

Но он очень не подходит для Friendly Url, да и потом, при использовании masterpages часто бывает, что страницы находятся в разных подкаталогах. Вобщем очень неудобный вариант.
Потому в asp.net есть такой контрол, как Image, и все пути который начинаются с "~/" asp.net преобразует и дает правильный путь начинающийся от корневого каталога WebSite'а. Т.е. к примеру у тебя все та же bla-bla.jpg хранится в images, ты пишешь такую вот ахинею -->>
Код

<asp:Image ImageUrl="~/images/bla-bla.jpg" ToolTip="" Width="80" Height="10" runat="server"/>

И теперь ты можешь видеть эту картинку в любом подкаталоге.




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

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


Опытный
**


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

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



Mymik спасибо большое это я усвоил.А вот как теперь сделать чтоб для каждого FirstName,LastName чтоб получали каждый свою фотографию.Большое спасибо.
PM MAIL   Вверх
Mymik
Дата 3.3.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



дык ты ж используешь Repeater, ты забираешь данные из субд, возможно там у всех твоих записей одинаковые картинки. Измени данные в СУБД и ты увидишь как картинки изменятся.


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

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


Опытный
**


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

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



Mumik спасибо за помощь,но в том то и дело что в базе разние картинки :(.А немогли бы вы для меня непутевого набросать маленький примерчик.Просто очень хочетса научитса как из базы доставать картинки и чтоб они становились в нужные места.Зарание спасибо.
PM MAIL   Вверх
Mymik
Дата 4.3.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(shark1 @  4.3.2008,  20:48 Найти цитируемый пост)
Mumik спасибо за помощь,но в том то и дело что в базе разние картинки :(.А немогли бы вы для меня непутевого набросать маленький примерчик.Просто очень хочетса научитса как из базы доставать картинки и чтоб они становились в нужные места.Зарание спасибо. 

ну во-первых я Mymik. 
Во-вторых нет. Давай сам пиши. Показывай приходящие данные. Или приведи пример базы данных покажи что возвращает. Что ж тут не работает.


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

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


Опытный
**


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

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



Mymik извени.База(Access) выглядит так :
ID-Autonumber
FirstName-text
FirstName-text
Photo-OLE Object
Link -text(папка на компе где хранятся photo)
возвращает все данние,только вместо картинок показивает ярлычки.
Делаю так:
Код

<asp:Panel ID="Panel2" runat="server" 
            BackColor="Cyan">
           <asp:Image ID="Photo" runat="server" ImageUrl=<%# Eval("Photo")%/>               
               <%# DataBinder.Eval(Container.DataItem,"FirstName") %>
               <%# DataBinder.Eval(Container.DataItem,"LastName") %>             
            </asp:Panel>

если меняю :
Код

<asp:Image ID="Photo" runat="server" ImageUrl=<%# Eval("Photo")%/>

на 
Код

<asp:Image ID="Image1" ImageUrl="~/images/1.jpg" ToolTip="" Width="80" Height="40" runat="server"/>

то тогда вижу(понятное дело,после того как ты мне подсказал)у всех одну и туже фотографию.
Подскажи в чем я ошибаюсь.Зарание спасибо.

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  untitled.jpg 64,52 Kb
PM MAIL   Вверх
Mymik
Дата 5.3.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



shark1, ну так ты ж везде подставляешь одинаковый ImageUrl, а тебе нужно подставлять его.
при это, у тебя поле Photo является OLE (т.е. там внутри храняться уже файлы). Следовательно, для того чтобы отобразить это поле, тебе нужно создать отдельный файл. Желательно ashx (Web Handler). В который ты будешь передавать ID записи и по этому ID будешь вытаскивать Photo из базы и писать эти данные в Response.
Вот тут можно посмотреть, но там они реализовывают через ViewImage.aspx файл, что тебе не нужно, это не правильно по той причине, что в aspx очень длинный цикл жизни, а у ashx вызывается только один метод и все (т.е. прирост в скорости).

Добавлено через 5 минут и 51 секунду
мдя... но если у тебя есть поле Link где хранятся фото... хм, тогда действуем по другому smile
Тогда представим что в Link хранится что-то типа "1.jpg" И ты знаешь, что все эти файлы хранятся в "~/images/users/"
Из этого следует, что наш Image в Repeater'е должен выглядить вот так вот -->>
Код

<asp:Image ImageUrl='<%# String.Concat("~/images/user/", Eval("Link")) %>' ToolTip='<%# String.Concat("Photo of ", Eval("FirstName"), " ", Eval("LastName")) %>'  runat="server"/>

Вот и все. Вот так вот все должно работать smile

Это сообщение отредактировал(а) Mymik - 5.3.2008, 10:34


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

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


Опытный
**


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

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



Да чтож я такой непутевый,и так у меня не работает,пишет ошибку что адресс фото не коректный,сделал другую DB,оставил только имя,фамилия и линк(это где в папке хранятся картинки),и все равно не показивает :( :(.
PM MAIL   Вверх
MaxWave
Дата 5.3.2008, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



shark1
Код

<%# Eval("photoPath") %> 

Эммм, у тебя случаем не подсвечивается строчка красным??? Чтобы забиндить свойство контрола нужно выражение обернуть в кавычки!

Вот так: 
Код

ImageUrl="<%# Eval(...) %>"


Но тогда в скобки нельзя будет записать слово в кавычках. И Eval заюзать не выйдет...

Сделай функцию getImage внутри класса страницы и возвращай путь.. Типа так
Код

ImageUrl="<%# getImage() %>"

PM MAIL   Вверх
shark1
Дата 5.3.2008, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



одну секундочку,почему если я делаю так в обычной таблице:ImageUrl="C:\Documents\images\1.jpg"
то я все равно не вижу картинку,может что то в настройках :(.Спасибо.
PM MAIL   Вверх
MaxWave
Дата 5.3.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Да, странно.  smile  Тогда придется переместить все картинки в папку с сайтом. Теперь уж точно загрузятся.
PM MAIL   Вверх
shark1
Дата 5.3.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да так работает :ImageUrl="~/image/1.jpg.
Я просто не успел ответить,я сделал так :
<td style="width: 100px">
                <asp:Image ID="Image2" runat="server" ImageUrl="~/image/1.jpg" />
                </td>
но вопрос с Repeater так и не решил,подскажи плиззз как сделать функцию getImage внутри класса страницы.Зарание спасибо большое.
PM MAIL   Вверх
MaxWave
Дата 6.3.2008, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



примерно так:

Код

public string getImagePath()
{
return Eval ("PhotoPath").ToString();
}


Это сообщение отредактировал(а) MaxWave - 6.3.2008, 00:08
PM MAIL   Вверх
shark1
Дата 6.3.2008, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



MaxWave спасибо тебе огромное но увы и так тоже не работает. :( не понимаю в чем дело.Может быть можно подругому как то вытащить фото из DB.Спасибо.
PM MAIL   Вверх
Mymik
Дата 6.3.2008, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(shark1 @  5.3.2008,  22:05 Найти цитируемый пост)
одну секундочку,почему если я делаю так в обычной таблице:ImageUrl="C:\Documents\images\1.jpg"
то я все равно не вижу картинку,может что то в настройках :(.Спасибо. 

это политика браузеров. Нельзя обращаться из интернета к локальным ресурсам (за исключением нескольких файлов из временных файлов)

Открой исходный код страницы и посмотри почему image указывает на ошибочный путь. Посмотри что в этом путе не правильного и тогда уже исправляй. А так, сетовать на то что у тебя что-то не получается, но при этом ничего не показывать... ну вобщем мы конечно уже мастера яснослышанья, но все же никак не можем тебе помочь... наверное это только на некоторых действует.


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

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


Опытный
**


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

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



Mymik странно но фото лежит дествительно в этой папке.Ладно.Но всетаки прошу пожалусто если можно для примера киньте какой нибудь примерчик кот. работает с DB(Access или SQL),чтоб посмотреть как же можно так сделать чтоб доставать катринки из DB и чтоб они становились в нужные места.Зарание огромное спасибо.
PM MAIL   Вверх
MaxWave
Дата 6.3.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У тебя картинки где? В базе или на диске? Если на диске то должны быть в папке с айтом. Если в БД то тут надо по своему выковыривать. Если у тебя в БД пути прописаны с файлам на диске, то пути соответственно должны быть корректными.
PM MAIL   Вверх
shark1
Дата 7.3.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня есть db Access с путями к фотографиям или можно попробовать и просто чтоб картинки были на диске в какойто папке.Если можно то я би хотел посмотреть как делается и в одном и в другом случае.Как же это работает.Зарание спасибо.
PM MAIL   Вверх
shark1
Дата 7.3.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Плиззззз подскажите не оставляйте меня так,подскажите пожалусто.Спасибо.
PM MAIL   Вверх
shark1
Дата 11.3.2008, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Уважаемые учителя.Плиззз, перебрал море вариантов  smile  smile  smile но так и не получилось вытащить картинку из DB(Access).Плиззз подскажите пожалусто,помогите примером.Зарание спасибо.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

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

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

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


 




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


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

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