2011-12-10 10 views
0
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="ID" DataSourceID="SqlDataSourceVideo" > 
    <Columns> 
     <asp:BoundField DataField="VideoUrl" HeaderText="VideoUrl" 
      SortExpression="VideoUrl" /> 
     <asp:BoundField DataField="ID" HeaderText="ID" 
      SortExpression="ID" InsertVisible="False" ReadOnly="True" /> 
     <asp:BoundField DataField="Video_Name" HeaderText="Video_Name" 
      SortExpression="Video_Name" /> 
     <asp:CommandField ShowDeleteButton="True" /> 
    <asp:TemplateField> 
     <ItemTemplate> 
     <asp:Button ID="ButtonPlay" runat="server" CommandName="Play" 
      CommandArgument='<%# DataBinder.Eval(Container.DataItem,"VideoUrl") %>' 
      Text="Play" OnClientClick="playVideo()"></asp:Button> 

プレイURLのJavaScriptコード:javascriptを使用してGridViewからURLを取得するには?

<script type="text/javascript" language="javascript"> 
    function playAudio(URL){ 
     if (URL != "") 
     { 
      document.Player.filename = URL; 
      document.getElementsByName("mediaPlayer").src=URL; 
      document.getElementsByName("mediaPlayer").play(); 
      document.Player.showcontrols = true; 
      document.Player.height = 40; 
      document.Player.play();  
     } 
    } 
</script> 

は誰がどのようにGridViewのからURL値を得るために私に言うことはできますか?前もって感謝します。

+0

あなたのボタンは 'playVideo()'を呼び出します。あなたは 'playAudio()'のJavaScriptを投稿しました。どちらが正しい? – gilly3

+0

ボタンにサーバーコントロールを使用しているのはなぜですか?そのボタンでポストバックが発生しますか? – gilly3

答えて

1

<asp:Button ID="ButtonPlay" runat="server" CommandName="Play" 
    CommandArgument='<%# DataBinder.Eval(Container.DataItem,"VideoUrl") %>' 
    Text="Play" 
    OnClientClick='<%# DataBinder.Eval(Container.DataItem,"VideoUrl", "playVideo('{0}')") %>'> 
</asp:Button> 
+0

感謝の返事..私は与えられたボタンコードを書いて、私はサーバータグがうまく形成されていないエラーを持っています。 – Rembo

+0

@Rembo、この例を編集して、サーバータグが正しく形成されました。もう一度やり直せますか? –

+0

こんにちは友人私はビデオを再生するためにWindows Media Playerを使用しています。上記の関数名はplayVideo()です。私のコードはここにあります。 – Rembo

1

私は、行3からURLを取得し、その後、TemplateField

<asp:TemplateField SortExpression="VideoUrl" HeaderText="Video Url"> 
    <span class='videoUrl<%# DataBinder.Eval(Container, "RowIndex") %>'><%# Eval("VideoUrl") %></span> 
</asp:TemplateField> 

にあなたのBoundFieldを変更するだろう、これを試してみてください:

var span = document.getElementsByClassName("videoUrl3")[0]; 
var url = span.textContent ? span.textContent : span.innerHTML; 
0
OnClientClick='<%# EVAL("VideoUrl", "return playAudio({0})") %>'/> 

使用これはあなたのボタンにあります。

関連する問題