2017-04-02 18 views
0

を再生することができるようにGridView内のLinkBut​​tonは、オーディオHTMLへのフォルダから音声ファイルを盗んするため、私はそうで立ち往生していASP:それは

<audio controls="controls" id="audio" runat="server"></audio> 

<asp:GridView ID="GridView1" runat="server" GridLines="None" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> 
    <Columns> 
      <asp:TemplateField HeaderText="Name" SortExpression="Name">      
       <ItemTemplate> 
        <asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Bind("Name") %>' OnClick="LinkButton1_Click"></asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
     <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" /> 
    </Columns> 
</asp:GridView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConStr %>" SelectCommand="SELECT [Name], [Date] FROM [tablename]"></asp:SqlDataSource> 

で構成されてWebフォームを持っていますコードの背後にある。データベースから日付とパスを確認して、フォルダからオーディオファイルを再生したい。私はあなたがOnCommandOnClickからLinkBut​​tonコントロールを変更することができますVBで以下のコードのようなもの

audio.Attributes("src") = "Audio/" 'I am unable to continue from here. 

答えて

0

を持っています。そうすればCommandArgumentを送ることができます。

<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# Eval("FileName") %>' OnCommand="LinkButton1_Command">LinkButton1</asp:LinkButton> 

は、その後、あなたの背後にあるコードでCommand方法でコマンドの引数からファイル名を取得することができ、ANプレーヤーのためのソースとして使用します。

protected void LinkButton1_Command(object sender, CommandEventArgs e) 
{ 
    string fileName = e.CommandArgument.ToString(); 
    audio.Attributes.Add("src", Server.MapPath("/Audio/" + fileName)); 
} 

UPDATE

ファイル名は常にLinkBut​​tonコントロールのテキストになるだろうされている場合は、バック1に送信者をキャストし、Textプロパティを取得することができます。

protected void LinkButton1_Command(object sender, CommandEventArgs e) 
{ 
    LinkButton lb = sender as LinkButton; 
    audio.Attributes.Add("src", Server.MapPath("/Audio/" + lb.Text)); 
} 
+0

'audio.Attributes( "SRC")= "オーディオ/" + Path.GetFileName(LinkBut​​ton2.Text)' LinkBut​​tonコントロールがGridViewの外に保管されている場合、このコードは動作します。しかし、私はまだgridview内のリンクボタンについて混乱しています。 上記のコードは機能していません – User91

+0

コマンド引数として何を送信しますか?テキストがファイル名と同じであれば、それを 'CommandArgument = '<%#Eval(" Name ")%>'' – VDWWD

+0

に変更していただき、ありがとうございます。 – User91

関連する問題