2011-11-26 14 views
11

Używam szablonów jQuery do osadzania filmów wideo umieszczonych przez użytkowników YouTube. Jestem w stanie pobrać identyfikator wideo i zapisać go w bazie danych, a wszystko działa poprawnie. Jednak gdy próbuje umieścić film z jQuery Templates następująco:Osadzanie wideo z YouTube za pomocą szablonów jQuery - C#

{{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}} 

pojawia się następujący błąd: "NetworkError: 404 Not Found - http://www.youtube.com/v/"

${VideoId} i streamObj.TypeOf zwrotu prawidłowo. Ale to jest błąd. Co może być przyczyną? Dziękuję Ci.

+0

W komunikacie o błędzie z adresem URL youtube brakuje identyfikatora wideo ('http: // www.youtube.com/v /'). Jesteś pewien, że symbol zastępczy '$ {VideoId}' zostanie zastąpiony? –

+0

Czy jesteś pewien, że $ {VideoId} nie jest pustym łańcuchem? –

+3

Otwórz firebug lub inną konsolę javascript, aby sprawdzić, czy adres URL jest generowany po załadowaniu strony. Twój VideoId może być gdzieś resetowany. –

Odpowiedz

2

Spróbuj tego.

<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> 

A może lepiej.

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> 

wierzę, że szablon w kodzie nie jest analizowany corretly ze względu na fakt, że szablon jest ustawiony jako część wartości js strun.

0

powinieneś dostać ${VideoId} Spośród sznurka i użyć operacji strun jak

var videoIdString=${videoId}; 

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

Ponieważ:

na tej stronie nigdy Widziałem $ {} używany między cytatami.

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

tak Twój kod byłoby:

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>