在模型中使用列表而不是IEnumerable无法禁用或启用文本框

时间:2019-04-04 06:28:00

标签: asp.net-mvc-5

希望大家一切都好。我正在开发软件,需要使用Table的Bit值禁用或启用文本框,但对我而言不起作用。 当我尝试在模型中添加列表而不是IEnumerable时,它可以工作,但是我必须在视图中使用列表模型而不是IEnumerable。 请帮我。 预先感谢。

@model List<EapprovalWAKWebApplication.Models.ElementEntriesDetail>
     @*@foreach (var item in Model)*@
@for (var i = 0; i < Model.Count; i++)
{
 @if (modelItem => modelItem[i].OverrideValue == false)
                    {
                        @Html.TextBoxFor(modelItem => modelItem[i].OverwriteValue, new { @id = "overvalue", disabled = "disabled" })
                    }
                    else
                    {
                        @Html.TextBoxFor(modelItem => modelItem[i].OverwriteValue, new { @id = "overvalue" })
                    }
}

1 个答案:

答案 0 :(得分:1)

这不是您在循环中引用某些内容的方式:

if (modelItem => modelItem[i].OverrideValue == false)

如果要遍历Model,则可以将索引器(i)应用于Model

if (Model[i].OverrideValue == false)

或更简洁地说:

if (!Model[i].OverrideValue)