如何从数据库获取YouTube URL并在视图中显示视频

时间:2019-02-26 19:15:28

标签: c# asp.net asp.net-mvc razor

我需要获取存储在数据库中并在视图中显示的youtube URL。保存到数据库时,我正在保存完整的URL,例如“ https://www.youtube.com/watch?v=is0A9x8q_zA”。

但是使用以下代码,则不会显示任何内容。我不能仅将上述URL中的ID( is0A9x8q_zA )存储到数据库中,因为我将不同类型的URL存储在同一表内,例如youtube url,博客URL,教程URL。 如何显示YouTube视频?有更好的选择吗?

我的查看代码:

<div class="col-md-2">
     @foreach (var item in group)
     {
     if (item.urltype == "YouTube")
     {
           <iframe src=@Url.Content(item.url) width="400" frameborder="0"></iframe>
     }
</div>

2 个答案:

答案 0 :(得分:1)

要嵌入Youtube视频,您需要提供其他URL。您可以使用数据库中的URL来获取ID,并将其他格式应用于“ src”属性

您的查看文件

<div class="col-md-2">
     @foreach (var item in group)
     {
     if (item.urltype == "YouTube")
     {
           //get URI first
           var videoURI = new URI(item.url);
           //get video id from URI
           var videoId = var videoId = HttpUtility.ParseQueryString(videoUrl.Query).Get("v");
           <iframe src="https://www.youtube.com/embed/@videoId" width="400" frameborder="0"></iframe>
     }
</div>

我希望这会有所帮助。

答案 1 :(得分:0)

检查生成的HTML(浏览器开发工具:Inspect元素),以确保正确加载了URL。

还有https://developers.google.com/youtube/iframe_api_reference

有一个例子。希望对您有所帮助。