0

我在网格视图中显示了图像。但我不明白如何在网格视图中显示 YouTube 视频?

4

4 回答 4

2
  1. 添加一个带有文字控制的模板列。
  2. 在 itemdatabound 上用 YouTube 视频的嵌入代码填充文字

例子:

((Literal)e.Item.FindControl("litvideo")).Text = "<iframe width=\"560\" height=\"315\" src=\"http://www.youtube.com/embed/r6BHyv6nkAs\" frameborder=\"0\" allowfullscreen></iframe>";
于 2013-01-17T11:15:13.030 回答
0
<asp:TemplateField ControlStyle-CssClass="Row" HeaderText="YouTube Video">
    <ItemTemplate>
        <asp:Label ID="lblYTVideoURL" runat="server" Text=<%# Eval("YTVideoUrl")  %>></asp:Label>
    </ItemTemplate>
    <ControlStyle CssClass="Row"></ControlStyle>
</asp:TemplateField>

然后从后面的代码:

protected void grvYoutubeVideo_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        Label lbl = (Label)e.Row.Cells[0].Controls[1];

        if (lbl.Text != "")
        {
                //string YTVideoURL = lbl.Text;    //"http://www.youtube.com/v/AyPzM5WK8ys";

                //string OBJYTVideo = "<object width=\"150\" height=\"150\">";
                //OBJYTVideo += "<param name=\"movie\" value=\"" + YTVideoURL + "\"></param>";
                //OBJYTVideo += "<param name=\"allowscriptaccess\" value=\"always\"></param>";
                //OBJYTVideo += "<embed src=\"" + YTVideoURL + "\" type=\"application/x-shockwave-flash\"";
                //OBJYTVideo += "allowscriptaccess=\"always\" width=\"100%\" height=\"100%\"></embed></object>";

                //lbl.Text = OBJYTVideo;
        }
    }
}
于 2013-01-17T11:20:15.193 回答
0

尝试这样的事情,你可以把所有这些都放在 .html 中并打开。之后,您将轻松将此添加到 asp.xml 中。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <object width="425" height="355">
            <param name="movie" value="http://www.youtube.com/v/sSe_RmPlOLM" />            
            <param name="wmode" value="transparent" />
            <embed src="http://www.youtube.com/v/sSe_RmPlOLM" type="application/x-    shockwave-flash"
                wmode="transparent" width="425" height="355" />
        </object>
    </div>
    </form>
</body>
</html>
于 2013-01-17T11:21:55.010 回答
0
 <asp:TemplateField HeaderText="Video">
                                <ItemTemplate>
                                  <iframe id="video" width="420" height="250" frameborder="0" allowfullscreen src='<%# "http://www.youtube.com/embed/" + Eval("VideoURL").ToString().Split(new string[] { "v=" }, StringSplitOptions.None)[1] %>' frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
                                  </iframe>
                                </ItemTemplate>
                                <HeaderStyle HorizontalAlign="Center" />
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:TemplateField>
于 2020-02-12T12:23:25.650 回答