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番目のヘルパーが機能しない理由です。しかし、この種のことを行う適切な方法はありますか?

4

1 に答える 1

2

これはうまくいくはずです...

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

アンドリュー・バーバーが次のようにコメントしたように、各行の前に@がなく、この場合はセミコロンを追加しています(必要ありません)...

ビューにこのようなコードがあり、期待どおりに動作します...

于 2012-04-27T02:56:22.303 に答える