1

グリッドビューで曲を表示して再生/ダウンロードできる小さな音楽サイトがあります。組み込みの音楽プレーヤーで再生したいと思います。私がグーグルで検索したとき、非常に多くの埋め込み音楽プレーヤーと例がありますが、それらのほとんどは、再生する曲の固定 URL を示しているだけです。現在持っているグリッドビューから組み込み音楽プレーヤーにパラメーターを渡す方法がわかりませんでした。

私が今持っているもの。Song_Name は、datatable にある 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”&gt;</embed>

この例では、グリッドビューの Song_Name + http://www.mysite.com/uploadds/Song_Nameなどの固定 URL であるファイル名を、埋め込みプレーヤーの audioUrl に渡す必要があります。どうすればいいのですか ?基本的に、ユーザーが各曲のグリッドビューの再生ボタンをクリックすると、埋め込まれた音楽プレーヤーを使用して曲を再生したいと考えています。Pls は girdview の例を参照してください。上記のコードのように、Playbutton はハイパーリンク フィールドです。下手な英語でごめんなさい。:D

本当にありがとう。

L

グリッドビューの例

4

1 に答える 1

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

この例では、Google フラッシュ オーディオ プレーヤーを使用しましたが、プレーヤーはもちろん何でもかまいません。StringBuilder とサーバー側の Div を使用して asp.net コード ビハインドから HTML または Javascript コードを操作して、Div の InnerHtml プロパティを使用し、実行時にコンテンツを変更するのは非常に便利な方法です。

皆さんありがとう、

L

于 2012-04-19T09:07:21.980 に答える