如何将我的@Html.TextBoxFor() 创建为只读或禁用

How can I create my @Html.TextBoxFor() as read only or disabled

我有一个在局部视图中动态创建组件的视图,在某些情况下,这些组件需要是只读的。我已经使用下面的代码与其他组件一起成功管理它

$(document).ready(function () {
    if("@Model.IsUnderReview" == "True") {
        document.getElementById("textbox_" + "@Model.ID").disabled = true;
    }
});

但是在这种情况下,它们是在循环中创建的,并且可以有任意数量。如何将下面的代码设置为只读?

@Html.TextBoxFor(m => m.Configuration.First(c => c.ID == config.ID && c.ProductRow == config.ProductRow).TextboxEntry, new Dictionary<string, object>{
                        {"id", "infoTextbox_" + Model.NumberOfDuplicates + "_" + config.ID},
                        {"configid", (config.ID + Model.NumberOfDuplicates)},
                        {"onchange", "HandleChange($(this))"}}) 

我试过插入 @readonly = "readonly" 但我的语法错误,因为它不起作用。

如果你只是想在 htmlAttributes 中添加它:

            @Html.TextBoxFor(m => m.Configuration.First(c => c.ID == config.ID && c.ProductRow == config.ProductRow).TextboxEntry, new Dictionary<string, object>{
                    {"id", "infoTextbox_" + Model.NumberOfDuplicates + "_" + config.ID},
                    {"configid", (config.ID + Model.NumberOfDuplicates)},
                    {"onchange", "HandleChange($(this))"}}, new { @disabled = "disabled"})