17

Razor ビューでのこのコード:

if (true)
{
    <table>
        <tbody>
}

...

if (true)
{
        </tbody>
    </table>
}

実行されません。}最初のステートメントに終了がないと主張していますが、それはタグif()のせいだと思います。<table>

これを回避して条件付きで<table>タグを挿入する方法はありますか?


YT JS API コードを使用して埋め込みビデオ コードを取得する

SWF ファイルを呼び出す Youtube JavaScript メソッドを使用しようとしています。FancyBox を使用しており、ユーザーが埋め込みコードを取得できるように、グラブ コード ボタンなどの特定のボタンを既に追加しています。したがって、これはAPIドキュメントを読むには程遠い私のスクリプトです。

 ytplayer = document.getElementById("fancybox-swf");
 ytplayer.getVideoEmbedCode();

私が得ているエラーはこれです

TypeError: Object #<HTMLObjectElement> has no method 'getVideoEmbedCode'

SWFObject.js を追加するなど、これまでに多くの方法を試しましたが、それでも同じエラーが発生します。オブジェクトの HTML は次のようになります。

<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
<param name="movie" value="http://www.youtube.com/v/fa38VnZpaL0?enablejsapi=1">
<param name="wmode" value="transparent">
<param name="allowfullscreen" value="true">    
<param name="allowscriptaccess" value="always">
<embed src="http://www.youtube.com/v/fa38VnZpaL0?enablejsapi=1" 
       type="application/x-shockwave-flash"
       width="100%" height="100%"
       wmode="transparent" 
       allowfullscreen="true" 
       allowscriptaccess="always">
 </object>

私は埋め込みコードを取得したいだけで、おそらくこれについてさらに学習した後、他のドキュメントを取得したいのですが、実際にこれを取得する問題はまったくありません。これまでのところ、FancyBox コード全体を破壊しないようにコンソールでこれを試してきました。これを後で、beforeShowまたはafterShow実際に機能するものに統合します。

YouTube にあるドキュメントについてのガイダンスが必要なだけで、ますます混乱しています。誰でも私を助けてくれ、正しい方法に導くことができますか?

4

4 に答える 4

41

タグの先頭に を追加してみてください@::

if (true)
{
    @:<table>
        @:<tbody>
}

...

if (true)
{
        @:</tbody>
    @:</table>
}
于 2013-07-01T20:19:56.953 に答える
0

@{ } ステートメントで if ブロックを囲むか、@if のように @ を前に付けて、剃刀コード ブロックを使用してみてください。

http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx

于 2013-07-01T20:18:20.993 に答える