不幸的是,以下所有标记都将呈现只读文本框输入
<input type="text" name="s1" readonly="readonly"/>
<input type="text" name="s2" readonly="no" />
<input type="text" name="s2" readonly="reallyDoNotWant" />
<input type="text" name="s3" readonly="false" />
<input type="text" name="s4" readonly />
属性的存在readonly
使输入元素只读。价值无所谓。
所以你应该有条件地渲染它
if (yourExpressionWhichGivesBooleanValue)
{
@Html.TextBoxFor(a => a.VSSLabel)
}
else
{
@Html.TextBoxFor(a => a.VSSLabel, new { @readonly = "readonly" })
}
如果您想根据 viewbag 字典项对其进行检查
if (ViewBag.IsAdmin !=null && ViewBag.IsAdmin)
{
@Html.TextBoxFor(a => a.VSSLabel)
}
else
{
@Html.TextBoxFor(a => a.VSSLabel, new { @readonly = "readonly" })
}
假设您在操作方法中设置ViewBag.IsAdmin
为布尔值。