我有一个强类型的MVC视图控件,负责用户创建和编辑客户项目的界面。我希望他们能够在创建时定义ClientId
,但不能编辑,并且要在界面中反映出来。
为此,我有以下代码:
<%= Html.TextBox("Client.ClientId", ViewData.Model.ClientId, new
{ @readonly =
(ViewData.Model.ClientId != null && ViewData.Model.ClientId.Length > 0
? "readonly" : "false")
} )
%>
似乎无论我给readonly属性赋的值是什么(甚至是"false"和""),Firefox和IE7都会使输入框变为只读,这非常令人不爽且反直觉。是否有一种漂亮的三元操作符方式,在不需要该属性时完全删除它?