我有一个强类型的MVC视图控件,它负责用户可以在其中创建和编辑客户端项目的UI。我希望他们能够在创建时定义ClientId
,但不能编辑,并且这将在UI中反映出来。ASP.NET MVC的Html.TextBox条件属性预览5
为此,我有以下行:
<%= Html.TextBox("Client.ClientId", ViewData.Model.ClientId, new
{ @readonly =
(ViewData.Model.ClientId != null && ViewData.Model.ClientId.Length > 0
? "readonly" : "false")
})
%>
看来,无论什么价值我给只读属性(甚至是“假”和“”),Firefox和IE7使输入读取 - 只是,这是令人讨厌的反直觉。如果不需要,可以使用完全基于三元运算符的方法完全删除属性吗?
+1我的第一个镜头是没有投反对的第二代码片段。它容易被忽视,但真正必要。 – 2012-06-18 15:55:32