我在网格视图中显示了图像。但我不明白如何在网格视图中显示 YouTube 视频?
			
			2698 次
		
4 回答
            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   回答