просмотр списка с уменьшенными изображениями кнопки в asp.net - PullRequest
1 голос
/ 27 октября 2010

Я пытаюсь реализовать галерею изображений в ASP.NET./c#

.

Я показываю 6 миниатюр на моей странице. Чтобы отобразить это, я решил использовать ListView с ItemTemplate, содержащим элемент управления ImageButton, для каждого эскиза, который я бы отображал. У меня есть несколько вопросов:

  1. Правильно ли я выбираю элементы управления? (есть такие опции, как DataList, повторитель и т. д.)
  2. Я читаю из базы данных sql server 2008, в которой изображение имеет тип поля varbinary. Если я хочу отобразить эти двоичные данные в виде изображений в моих комментариях, то как мне это сделать?
  3. В конечном счете, я хочу иметь возможность отображать большое изображение при нажатии на миниатюру. Как я буду копировать URL-адрес миниатюры, на которую нажимают?
  4. Есть ли у кого-нибудь справка / демонстрация / образец, который я мог бы использовать в качестве руководства?

ПОЖАЛУЙСТА, помните, что изображения являются «двоичными» данными на сервере sql, а НЕ файлами в файловой системе.

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

1 Ответ

0 голосов
/ 27 октября 2010
  1. Вы также можете использовать Repeater, но ListView является более гибким из перспектива макета (не говоря уже о поддержка пейджинга). Тем не менее, ImageButton для отображение эскиза не является хорошим выбором, Я предложу использовать контроль изображения (или тег img) встроенный в гиперссылку (или тег ахора) для того же.

  2. Вы должны сохранить данные изображения из базы данных в файловую систему, а затем передать их в виде URL-адресов. Или вы можете написать обработчик http (aspx / ashx), который будет передавать данные изображения из базы данных, и вы будете использовать путь обработчика в качестве URL для изображений. При любом подходе вы должны использовать заголовки кэша для лучшей производительности. Из всего вышесказанного я бы склонялся к первому подходу из-за его простоты.

  3. Как правило, вы используете разметку, такую ​​как

     <a href="actual image URL" target="_blank" class="aLink">
       <img src="thumbnail URL" alt="Click to see image" />
     </a>
    

    Таким образом, тег привязки имеет путь к фактическому URL-адресу изображения. Теперь у вас есть много библиотек java-скриптов (в совокупности называемых лайтбоксами), которые вы можете использовать для отображения галереи изображений - см. http://leandrovieira.com/projects/jquery/lightbox/, http://colorpowered.com/colorbox/, http://fancybox.net/ и т. Д.

  4. Выше библиотеки будут иметь демонстрационные примеры для создания галереи со стороны клиента. Все, что вам нужно сделать со стороны сервера, это сгенерировать разметку (html), показанную в примере - которая действительно проста с использованием повторителя / списка и синтаксиса привязки данных.

...