如果设置了某个变量,我希望某个字段成为文本框,如果不是,我希望该字段仅显示值,但该值不可编辑。
我将一些 if else 逻辑放入我的视图中,并且该值不会显示。我在这里错过了什么吗?
@{
if (isFlagSet) {
Html.TextBoxFor(m => m.HostpitalFinNumber, new { @Value = Model.HostpitalFinNumber });
Html.ValidationMessageFor(m => m.HostpitalFinNumber);
}
else {
Html.DisplayTextFor(m => m.HostpitalFinNumber);
}
}
更新...
我将代码更改为
@if (isFlagSet) {
Html.TextBoxFor(m => m.HostpitalFinNumber);
Html.ValidationMessageFor(m => m.HostpitalFinNumber);
}
else {
Html.DisplayFor(m => m.HostpitalFinNumber);
}
以下是正在生成的 HTML。请注意如何为 Phone 而不是为医院鳍写入输入值。热确定为什么会这样。
<tr><td>
<label for="Phone">Phone</label>
</td>
<td>
<input Value="4124880798" id="Phone" name="Phone" type="text" value="4124880798" />
</td></tr>
<tr><td>
<label for="HostpitalFinNumber">HostpitalFinNumber</label>
</td>
<td>
</td></tr>
回答
我忘了把 @ 放在我的 html 助手前面并去掉分号。