ASP.NET MVC - 使用Model中的布尔值禁用Html Helper控件

The*_*att 13 html asp.net asp.net-mvc

我正在使用Html帮助器向页面输出文本框.我想根据模型中的布尔值是true还是false来动态添加disabled属性.

我的模型有一个返回布尔值的方法:

<% =Model.IsMyTextboxEnabled() %>
Run Code Online (Sandbox Code Playgroud)

我目前正在渲染文本框,如下所示,但我想现在启用或禁用它:

<% =Html.TextBox("MyTextbox", Model.MyValuenew { id = "MyTextbox", @class = "MyClass" })%>
Run Code Online (Sandbox Code Playgroud)

如果Model.IsMyTextboxEnabled()的返回值== true,我希望输出以下内容:

<input class="MyClass" id="MyTextbox" name="MyTextbox" type="text" value="" />
Run Code Online (Sandbox Code Playgroud)

如果它== false,我希望它输出为:

<input class="MyClass" id="MyTextbox" name="MyTextbox" type="text" value="" disabled />
Run Code Online (Sandbox Code Playgroud)

最干净的方法是什么?

Sim*_*Fox 15

这应该是诀窍:

<%= Html.TextBox("MyTextbox", Model.MyValuenew,           
      (Model.IsMyTextboxEnabled() ? (object) new {id = "MyTextbox", @class = "MyClass"}
                                  : (object) new {id = "MyTextbox", @class = "MyClass", disabled="true" })) %>
Run Code Online (Sandbox Code Playgroud)