2016-06-19 86 views
1

我有鏈接在列表視圖。當點擊一個鏈接時,我想顯示一個引導模式來播放YouTube視頻,但這是顯示每個鏈接點擊時第一個鏈接的模式。視頻地址保存在數據庫中。這是我的代碼。引導模式不工作在asp.net listview控制

<div id="myModal" class="modal fade"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 

      </div> 
      <div class="modal-body"> 
       <iframe id="cartoonVideo" width="760" height="428" src="<%# Eval("Embeded code") %>" frameborder="0" allowfullscreen></iframe> 
      </div> 
     </div> 
    </div> 
</div> 

回答

0

只需複製並在解決方案中粘貼下面的代碼:

後面的代碼:

public partial class ListViewAndModalExample : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!Page.IsPostBack) 
     { 
      var v1 = new Video { VideoName = "CRASHING DRONES AND WRECKING LAMBOS", VideoUrl = "https://www.youtube.com/embed/AAmrIVa7UyA" }; 
      var v2 = new Video { VideoName = "FIRST EVER BOOSTED BOARD 2!!!", VideoUrl = "https://www.youtube.com/embed/rdNWP6sBgCk" }; 
      ListView1.DataSource = new List<Video> { v1, v2 }; 
      ListView1.DataBind(); 
     } 
    } 
} 

public class Video 
{ 
    public string VideoUrl { get; set; } 
    public string VideoName { get; set; } 
} 

.ASPX:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
    <script type="text/javascript"> 
     $(function() { 

      $(".videoLink").click(function() { 

       var link = $(this); 
       var url = $(link).data('url'); 

       $("#cartoonVideo").attr('src', url); 
       $("#myModal").modal('show'); 

      }) 

     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:ListView ID="ListView1" runat="server"> 
      <ItemTemplate> 
       <a href="#" class="videoLink" data-url='<%# Eval("VideoUrl") %>'><%# Eval("VideoName") %></a><br /> 
      </ItemTemplate> 
     </asp:ListView> 
    </form> 
    <div id="myModal" class="modal fade"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
      </div> 
      <div class="modal-body"> 
       <iframe id="cartoonVideo" width="420" height="345"></iframe> 
      </div> 
     </div> 
    </div> 
</div> 
</body> 
</html> 

輸出:

Displaying YouTube videos using ListView and bootstrap modal popup

+0

我已將視頻網址保存在數據庫中,但此方法使用硬編碼。此方法適用於少量視頻但不適用於大量視頻 – user3900427

+0

我已通過轉換數據表來解決問題進入列表 – user3900427

+0

感謝兄弟.... – user3900427

0

嘗試使用周圍像這樣的SRC單引號...

src='<%# Eval("Embeded code") %>' 

如果不工作,然後張貼正在生成鏈接到YouTube的代碼。

+0

​​ – user3900427

+0

我想你只是在你的src的開頭缺少http或https,例如https://youtube.com/embed/wJWj7rGj3uY – cymorg