在MVC3 Razor视图引擎中设置文本框的可见性

Bik*_*iki 7 asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我是MVC 3,剃刀视图引擎的新手.我想根据viewmodel中的值在运行时设置文本框的可见性.

但是下面的代码不起作用.

<td>
    @Html.TextBox("CompanyName", "", new { visible = "false" })
</td>
Run Code Online (Sandbox Code Playgroud)

一旦上面的代码开始工作,我可以代替@Model.EnableCompanyName硬编码"假".

所以请帮我纠正上面的代码.

Chr*_*ris 15

这将根据您的bool Model.EnableCompanyName :)更改显示类型

希望能帮助到你!

@{
String displayMode = (Model.EnableCompanyName) ? "inline" : "none";
@Html.TextBox("CompanyName", "", new { style = "display:" + displayMode + ";" })
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*uge 8

这与剃刀无关.visible不是input元素的有效属性(这是Html.TextBox将生成的属性).你需要

@Html.TextBox("CompanyName", "", new { style = "display:none;" })
Run Code Online (Sandbox Code Playgroud)

在这里看到这个例子:

http://jsfiddle.net/QxSpU/