我是MVC 3,剃鬚刀視圖引擎的新手。 我想根據我的viewmodel中的值設置運行時文本框的可見性。在MVC3 Razor視圖引擎中設置文本框的可見性
但下面的代碼不起作用。
<td>
@Html.TextBox("CompanyName", "", new { visible = "false" })
</td>
一旦上面的代碼開始工作,我可以將@Model.EnableCompanyName
代替硬編碼的「false」。
所以請幫助我糾正上述代碼。
我是MVC 3,剃鬚刀視圖引擎的新手。 我想根據我的viewmodel中的值設置運行時文本框的可見性。在MVC3 Razor視圖引擎中設置文本框的可見性
但下面的代碼不起作用。
<td>
@Html.TextBox("CompanyName", "", new { visible = "false" })
</td>
一旦上面的代碼開始工作,我可以將@Model.EnableCompanyName
代替硬編碼的「false」。
所以請幫助我糾正上述代碼。
這將根據您的布爾Model.EnableCompanyName :)
希望它可以幫助改變顯示的類型!
@{
String displayMode = (Model.EnableCompanyName) ? "inline" : "none";
@Html.TextBox("CompanyName", "", new { style = "display:" + displayMode + ";" })
}
(編者)
@Html.TextBox("CompanyName", "", new { style = Model.EnableCompanyName ? "display:inline" : "display:none" })
嗨,即使是硬編碼假不工作。例如:@ Html.TextBox(「CompanyName」,「」,new {visible =「false」})不起作用。 – Biki
所以,您需要傳遞:new {style =「display:none」} –
下次嘗試更精確地指定您想要的內容。如果你不知道如何隱藏DOM元素,這是另一個問題。我只是誤解了你。 –
這是無關的剃鬚刀這樣。 visible
不是input
元素的有效屬性(這是Html.TextBox將生成的內容)。您需要
@Html.TextBox("CompanyName", "", new { style = "display:none;" })
這裏看到這個例子:
添加@ Html.TextBox( 「公司名稱」, 「」,新的{形式= Model.EnableCompanyName? 「可見性:可見」: 「visibility:hidden的」})
Thx Chris。只需在第一次分配中將none替換爲false,並按預期工作即可。 – Biki
Woops!學校男孩錯誤大聲笑。更新的答案反映了這一點。 :) – Chris