Fancybox href с динамической ссылкой из базы данных (asp.net)

0

Хорошо, я знаю, что этого было задано довольно много, и, похоже, есть некоторые ответы на те, которые были заданы.
Но я NOOB, понимая эти вопросы, несколько отличается от того, что я ищу.
У меня есть два запроса, сначала для видео
1. У меня есть база данных, где Image & Video хранится динамически.
2. Теперь в конце пользователя я хочу показать изображение и видео
3. Я создаю ссылки, вызывая Sqldatasource из базы данных.

 <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:horti %>" 
DeleteCommand="delete from [VideoGallery] where Id=@Id" SelectCommand="SELECT TOP (3) Id, Link FROM VideoGallery ORDER BY Id DESC">
<DeleteParameters><asp:Parameter Name="Id" /></DeleteParameters>
</asp:SqlDataSource>


 <asp:DataList ID="DataList3" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="3">
  <ItemTemplate>
 <a class="fancybox-media" href='<%#Eval("Link")%>'>Youtube</a>
  </ItemTemplate>
 </asp:DataList>

(До сих пор все прекрасно)

4. Теперь проблема заключается в том, что я вызываю href='<%#Eval("Link")%>', fancy-box не всплывает и не воспроизводит видео, а вместо этого загружает видео полный экран без эффекта всплывающего оверлея,
Необычный сценарий окна для видео

$ (document).ready(function() {

  $('.fancybox').fancybox();
      $('.fancybox-media')
          .attr('rel', 'media-gallery')
          .fancybox({
              openEffect: 'none',
              closeEffect: 'none',
              prevEffect: 'none',
              nextEffect: 'none',

              arrows: false,
              helpers: {
                  media: {},
                  buttons: {}

              }

          }); });


Я нашел нечто похожее на добавление динамических ссылок на href qaru.site/questions/921148/...
но я не знаю, как реализовать метод

Для изображения
для изображения я вызываю динамические ссылки на img src & href из базы данных

<a class="fancybox" data-fancybox-group="gallery" title="<%#Eval("Title") %>" href="<%#"Photo_Gallery.ashx?Id="+ Eval("Id") %>"> <img src='<%#"Photo_Gallery.ashx?Id="+ Eval("Id") %>'> </a>

Скрипт Fancybox

<script type="text/javascript">
  $(document).ready(function () {

      $('.fancybox').fancybox();

  });


Это слишком загружает то же самое, что и видео, оно загружает изображение на пустой странице без эффекта наложения

Я считаю, что все работает, только создавая динамическую ссылку для href.
любая помощь была бы чрезвычайно оценена.

Теги:
sql-server
fancybox-2

2 ответа

0
Лучший ответ

Для стартеров @JK ответ указал мне в правильном направлении, так что большой кусок кредита отправляется JK для сортировки моего запроса.
Я отправляю свой ответ, просто расцениваю кого-то как NOOB, поскольку меня может искать тот же запрос, что и мой. Вот точный ответ, который я мог бы настроить.

Для видео

 <a href='<%# Eval("Link")%>' class="fancybox-media" >
 <img src='<%# Eval("Image_Id")%>' />

Это код на стороне клиента. На сервере я дал отдельный Id для видео и изображения. (Как получить миниатюру изображения для этого видео Читать здесь

Наряду с fancybox JS, вызываемым внутри <head><head/>
Использовать медиафайлы fancybox
<script type="text/javascript" src="fancybox-media.js"></script>
Это должно сделать это для видео, ваш плеер будет всплывать и воспроизводить видео

Для изображения
Просто, просто добавьте data-fancybox-type="image".
Читайте здесь для получения дополнительной информации об этом от @JK

Это об этом.

  • 0
    @JFK, пожалуйста;)
2

1). Что касается видео:

Медиа-помощник Fancybox поддерживает только форматы популярных видеосайтов (youtube, vimeo, dailymotion и т.д.); см. эту должность для дальнейшей справки: qaru.site/questions/3231345/...

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

См. Это сообщение для ознакомления с jwplayer qaru.site/questions/6075886/..., в котором содержится код и демонстрация.

2). Что касается изображений:

Ссылка href в вашей ссылке

href="<%#"Photo_Gallery.ashx?Id="+ Eval("Id") %>"

не сообщает fancybox, что вы открываете изображение, потому что ссылка не имеет расширения изображения (.jpg,.png,.gif), поэтому вам нужно принудительно type содержимого.

Проверьте это сообщение qaru.site/questions/599021/... для трех разных способов сделать это. Это также можно найти в http://fancyapps.com/fancybox/#support >> вкладке "Часто задаваемые вопросы" >> № 5

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

  • 0
    Спасибо, @JFK. Я пройду по ссылкам и сделаю правильный ответ, если они мне помогут. я поверил. Я нашел эту ссылку прямо здесь: stackoverflow.com/questions/11943673/… Как это может помочь, если я использую синтаксис "type": "image" в моем существующем коде? еще раз спасибо.
  • 0
    & для видео, я храню только ссылки (извините, я не указал это), видео с YouTube. Вот пример сохраняемой ссылки: youtube.com/embed/AZCkcJTjhVU & посредством источника, вызывающего vid для iframe.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню