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 助手输出字符串,这就是第二个不起作用的原因。但是有没有合适的方法来做这种事情?

4

1 回答 1

2

这个应该可以...

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

正如 Andrew Barber 在下面评论的那样,您在每一行之前都缺少 @ 并且在这种情况下您要添加分号(不需要它们)...

我的观点中有这样的代码,它们确实按预期工作......

于 2012-04-27T02:56:22.303 回答