谁能帮帮我。将数据加载到 mvc View 时,我将加载复选框的值,但如果为真,我将需要禁用 2 个文本框字段。
代码是我的for循环的一部分
@Html.TextBoxFor(m => m.Items[i].StartIntervalTime, "{0:HH:mm}", new {
Value = Model.Items[i].Available ? "" : Model.Items[i].StartIntervalTime.ToString("HH:mm"),
id = "startTime" + i
})
<span>untill</span>
@Html.TextBoxFor(m => m.Items[i].EndIntervalTime, "{0:HH:mm}", new {
Value = Model.Items[i].Available ? "" : Model.Items[i].EndIntervalTime.ToString("HH:mm"),
id = "endTime" + i
})
@Html.CheckBoxFor(m => m.Items[i].Available, new { id = i, @class = "closedallday" })
我试过在文本框标签中使用“disabled”,就像我对“value”所做的那样,但是即使没有值,disabled 也会始终禁用文本框。所以..
Disabled = Model.Items[i].Available ? "disabled" : "",
我需要一个真正可行的解决方案。
谢谢迪南
你可以做这样的事情:
//检查值为真,禁用绘制文本框,否则正常绘制:
if(m.Items[i].Availabl == true)
{
@Html.TextBoxFor(m => m.Items[i].StartIntervalTime, "{0:HH:mm}"
, new {ANYTHINK ELSE, disabled="disabled" })
}
else
{
@Html.TextBoxFor(m => m.Items[i].StartIntervalTime, "{0:HH:mm}"
, new {ANYTHINK ELSE })
}
我是一名优秀的程序员,十分优秀!