2013-07-01 18 views
11

このコードは、。最初のif()声明には}のクローズがなく、<table>タグが原因であると推測しています。カミソリ `if`は登録されていません開いている` <table>`タグがある場合は `}`を閉じますか?</p> <pre><code>if (true) { <table> <tbody> } ... if (true) { </tbody> </table> } </code></pre> <p>実行されません:レイザービューで

<table>タグを条件付きで挿入する方法はありますか?

+1

'

...
'全体を1つのif文の中に入れても効果はありますか?その場合は、代わりにコードを変更する必要があります。どのようなシナリオで条件付きでテーブルヘッダーとフッタータグを印刷したいが、条件付きでテーブル内のものを印刷するのではないでしょうか?条件が偽であれば、ランダムな「」タグと「​​」タグで終わらないでしょうか? – qJake

+0

私のコードブロックは 'foreach(){}'の中にあり、テーブルはエンティティのタイプを指定するテーブル値で自分のエンティティを区切ります。 'if(){}'は(エンティティのリストがその型によって順序付けされているので)変更されたテーブル型をチェックします。 – Kehlan

答えて

27

でタグを付加してみてください@:

+0

+1これは実際に私の答えよりよく見えます。 – Fenton

+0

これは間違いなく最適なソリューションです。ありがとう! – Kehlan

+4

なぜrazor auto-formatは終了タグを改行するのですか? –

1

Razorでは、デフォルトでは一致する終了タグがステートメント内にあると想定しています。

あなたはカミソリを助けるために特別な <text>タグを使用することができます

@if (true) { 
    <text> 
    <table> 
     <tbody> 
    </text> 
} 
+1

」と「」がHTMLタグであることを認識し、「」タグが閉じる前にそれらが閉じられると、Razorはこれでも文句を言います。 – StriplingWarrior

+0

私はVS2012、MVC4を使用しています。同じものを使っていますか?いずれにしても、クローズタグについての警告が表示されるため、D Stanleyの回答が優先されます。 – Fenton

+0

ええ、これはRazorが '}'を認識するのを妨げないと思いますが、あなたが言うように、まだ警告があります。 – StriplingWarrior

2

あなたは、文字列としてそれを挿入することができ、その後、それらはhtmlとして解析されないと、構文と干渉していない:

@Html.Raw(true?"<table><tbody>":"") 

@Html.Raw(true?"</tbody></table>":"") 
関連する問題