如何使用 javascript 从 GridView 获取 URL
本文关键字:获取 URL GridView 何使用 javascript | 更新日期: 2023-09-27 18:17:29
<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 代码:
<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>
谁能告诉我如何从网格视图中获取 URL 值?提前谢谢。
试试这个,
<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>
我会把你的边界字段改成模板字段
<asp:TemplateField SortExpression="VideoUrl" HeaderText="Video Url">
<span class='videoUrl<%# DataBinder.Eval(Container, "RowIndex") %>'><%# Eval("VideoUrl") %></span>
</asp:TemplateField>
然后,要从第三行获取网址,请执行以下操作:
var span = document.getElementsByClassName("videoUrl3")[0];
var url = span.textContent ? span.textContent : span.innerHTML;
OnClientClick='<%# EVAL("VideoUrl", "return playAudio({0})") %>'/>
在您的按钮中使用它。希望对您有所帮助。