2012-04-27 23 views
1

これは動作します:条件付き出力

@if (ViewBag.SkipPhone == null) 
{ 
    <span>@Html.LabelFor(model => model.Phone)</span> 
    <span>@Html.TextBoxFor(model => model.Phone)</span> 
    <span>@Html.ValidationMessageFor(model => model.Phone)</span> 
} 

をしかし、私はこのような何かをしたい:

@if (ViewBag.SkipPhone == null) 
{ 
       Html.LabelFor(model => model.Phone); 
       Html.TextBoxFor(model => model.Phone); 
       Html.ValidationMessageFor(model => model.Phone);     
} 

私はなぜあるHTMLヘルパーの出力文字列を、理解して2つ目は動作しません。しかし、このようなことを行う適切な方法はありますか?

+1

2番目のものは何ですか?スパンタグの欠如? –

答えて

2

この1は動作するはずです...

@if (ViewBag.SkipPhone == null) 
{ 
    @Html.LabelFor(model => model.Phone) 
    @Html.TextBoxFor(model => model.Phone) 
    @Html.ValidationMessageFor(model => model.Phone)    
} 

あなたは、各ラインの前に@逃しているとアンドリュー・バーバーが...

を怒鳴るをコメントとしてあなたは、この場合(それらは必要ありません)にセミコロンを追加しています

私の意見にはこのようなコードがあり、彼らは期待どおりに動作します...

+1

セミコロンはおそらく含まれていなかったでしょう。 –

+1

@AndrewBarber:あなたは絶対に正しいです!エラーがどこにあるのかを見つけようとすると、いつものように完全に見落とされてしまいました... hehehe :) –