使用jQuery模板嵌入YouTube视频 - C#

时间:2011-11-26 07:44:38

标签: jquery youtube jquery-templates

我正在使用jQuery模板来嵌入用户发布的YouTube视频。我能够获取视频ID并将其保存到数据库中,一切正常。但是,当尝试使用jQuery模板嵌入视频时,如下所示:

{{if streamObj.TypeOf == 3}}
            <object width="425" height="350" data='http://www.youtube.com/v/${VideoId}' type="application/x-shockwave-flash">
            <param name="src" value='http://www.youtube.com/v/${VideoId}' /></object>
{{else}}

我收到以下错误:"NetworkError: 404 Not Found - http://www.youtube.com/v/"

${VideoId}streamObj.TypeOf正确返回。但这就是错误。 可能是什么导致了这个?谢谢。

2 个答案:

答案 0 :(得分:2)

试试这个。

<object width="425" height="350" data='http://www.youtube.com/v/' + ${VideoId} type="application/x-shockwave-flash">
    <param name="src" value='http://www.youtube.com/v/' + ${VideoId} />
</object>

或者更好。

var videoUrl = 'http://www.youtube.com/v/' + ${VideoId};

<object width="425" height="350" data=videoUrl type="application/x-shockwave-flash">
    <param name="src" value=videoUrl />
</object>

我认为代码中的模板标记没有得到正确评估,因为模板标记被设置为js字符串值的一部分。

答案 1 :(得分:0)

你应该从字符串中获取${VideoId}并使用像

这样的字符串操作
var videoIdString=${videoId};

var urlString='http://www.youtube.com/v/' + videoIdString ;

因为:

在这个页面中,我从未见过引号之间使用的$ {}。

http://api.jquery.com/template-tag-equal/

所以你的代码是:

var videoIdString=${videoId};

<object width="425" height="350" data='http://www.youtube.com/v/'+videoIdString
type="application/x-shockwave-flash">
<param name="src" value='http://www.youtube.com/v/'+videoIdString /></object>