2012-04-09 60 views
1

我有一個小型的音樂網站,你可以在gridview中看到歌曲並播放/下載它們。現在我想玩一個嵌入式音樂播放器。有很多嵌入式音樂播放器和示例,當我搜索它時,他們大多數只是用固定的歌曲URL來播放。我無法找到如何從gridview中將參數傳遞給嵌入式音樂播放器。如何從數據表傳遞參數到嵌入式音樂播放器? vb.net

我現在擁有的東西。 Song_Name代表數據表中的Uploads文件夾中的mp3文件的名稱。

 <asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="False" > 
     <Columns> 
     <asp:HyperLinkField DataNavigateUrlFields="Song_Name" Target="_blank" 
      DataNavigateUrlFormatString='~/Uploads/{0}' Text="&lt;img src='Images/play.png' border='0'/&gt;" >    
     </asp:HyperLinkField>   
     </Columns>     
     </asp:GridView> 

代碼隱藏

  On PageLoad 
      Dim dtable = GetSong() 
      gridview1.datasource = dtable 
      gridview1.databind() 

簡單的嵌入式播放器的代碼,我可能會使用。

  <embed type=」application/x-shockwave-flash」 flashvars=」audioUrl=MP3_FILE_URL」 
      src=」http://www.google.com/reader/ui/3523697345-audio-player.swf」 width=」400″ height=」27″ 
     quality=」best」></embed> 

在本例中,我要通過文件名,其是SONG_NAME在GridView +固定的URL如http://www.mysite.com/uploadds/Song_Name到audioUrl爲嵌入播放器。我該怎麼做 ?基本上,如果用戶點擊,在每首歌曲的gridview上播放按鈕,我想使用嵌入式音樂播放器播放歌曲。請參閱girdview示例。 Playbutton是上面代碼的超鏈接字段。對不起英文不好。 :D

非常感謝。

大號

gridview example

回答

0

沒有人回答我的問題。我不確定我的問題是否不夠明確,以供人們理解。那麼,我終於找到了解決問題的辦法。所以我想分享我的解決方案。希望對需要使用Gridview的其他人有所幫助。

爲了實現這個目標,我必須把隱藏標籤領域內的GridView作爲

<ItemTemplate> 
    <asp:Label ID="lblSongNam" Visible="false" runat="server" Text='<%#Eval("Song_Name") %>'></asp:Label> 
    </ItemTemplate> 

而且你還需要一個空div您要嵌入的音樂播放器顯示爲

<div id="musicplayer" runat="server"></div> 

爲Div分配runat =「server」屬性是非常重要的。

在GridView的背後的代碼rowcommand作爲

 Dim indexx As Integer = Convert.ToInt32(e.CommandArgument) 
     Dim roww As GridViewRow = GridView1.Rows(indexx) 
     Dim usernamee As String = Page.User.Identity.Name 
     Dim Song_Namee As String = (DirectCast(roww.FindControl("lblSongNam"), Label)).Text 
     Dim str As New StringBuilder() 
     str.Append("<embed type='application/x-shockwave-flash' flashvars='audioUrl=http://www.mysite.com/songs/") 
     str.Append(Song_Namee) 
     str.Append("&autoPlay=true' src='http://www.google.com/reader/ui/3523697345-audio-player.swf'") 
     str.Append(" width='700' height='27' quality='best'></embed>") 
     musicplayer.InnerHtml = str.ToString 

在這個例子中,我使用谷歌閃存音頻播放器,但玩家當然可以任何東西。通過使用StringBuilder和服務器端Div來使用Div的InnerHtml屬性並在運行時更改內容,從asp.net代碼操縱HTML或Javascript代碼是非常方便的方式。

感謝所有,

大號