@if (Model.Amount!=null)
{
<tr>
<td>Amount</td>
<td><b>:</b></td>
<td>@Html.EditorFor(model => model.Amount, new { readonly= true})
@Html.ValidationMessageFor(model => model.Amount)
</td>
</tr>
}
答案 0 :(得分:2)
EditorFor
没有重载,需要htmlAttributes
作为参数...
你可以简单地做一个if else
@if (Model.Amount != null) {
@Html.TextBoxFor(model => model.Amount)
}
else {
//or @Html.DisplayFor(model => model.Amount)
@Html.TextBoxFor(model => model.Amount, new{@readonly = "readonly"}
}
答案 1 :(得分:1)
既然你想让它只读,那么为什么不使用Label呢?
@Html.DisplayFor(model => model.Amount)
请阅读您对其他答案的评论
当amount不为null且readonly时,我需要将readonly设为true 当金额为空时为假
一个简单的if if就足够了。
答案 2 :(得分:0)
试试这个:
@Html.EditorFor(model => model.Amount, new { @readonly = "readonly"})