在剃刀视图中启用和禁用文本框(ASP.Net MVC 3)

Bik*_*iki 16 asp.net-mvc html5 asp.net-mvc-3

我想基于值(Model.CompanyNameEnabled)启用或禁用文本框.

以下代码无效.请纠正.

@{
    string displayMode = (Model.CompanyNameEnabled) ? "" : "disabled = disabled";
    @Html.TextBox("CompanyName", "", new { displayMode })
}
Run Code Online (Sandbox Code Playgroud)

arc*_*hil 35

@{
   object displayMode = (Model.CompanyNameEnabled) ? null : new {disabled = "disabled" };
   @Html.TextBox("CompanyName", "", displayMode)
}
Run Code Online (Sandbox Code Playgroud)

您应该将htmlAttribute作为匿名对象传递,其属性名称= html属性名称,属性值=属性值.你的错误是你传递的是字符串而不是name = value对

  • 这种方法在 MVC 5 中对我不起作用,输入呈现如下: <input class="form-control ui-autocomplete-input" displaymode="{ disabled = disabled }" id="txtPermitFromSearch" name="Permit .DescriptionFormatted" placeholder="开始输入许可证编号或实体名称。type="text" value="p-19, asdf asdf asdf , Brad Benson" autocomplete="off"> (3认同)

小智 7

<input id="textbox1" type="text" @{@((Model.CompanyNameEnabled) ? null : new { disabled = "disabled" })}; />

没有测试过,但应该工作