gpt4 book ai didi

asp.net-mvc - 带有ASP.NET MVC预览5的Html.TextBox条件属性

转载 作者:行者123 更新时间:2023-12-03 09:00:57 24 4
gpt4 key购买 nike

我有一个强类型的MVC View 控件,该控件负责用户可以在其中创建和编辑客户端项目的UI。我希望他们能够在创建时定义ClientId,但不能进行编辑,并且要在UI中反射(reflect)出来。

为此,我有以下内容:

<%= Html.TextBox("Client.ClientId", ViewData.Model.ClientId, new 
{ @readonly =
(ViewData.Model.ClientId != null && ViewData.Model.ClientId.Length > 0
? "readonly" : "false")
} )
%>

似乎无论我给readonly属性赋予什么值(甚至是“false”和“”),Firefox和IE7都将输入设为只读,这很讨厌直觉。如果不需要,是否有一种很好的基于三元运算符的方法完全删除该属性?

最佳答案

棘手的问题...但是,如果您只想定义readonly属性,则可以这样做:

<%= Html.TextBox("Client.ClientId", ViewData.Model.ClientId, 
ViewData.Model.ClientId != null && ViewData.Model.ClientId.Length > 0
? new { @readonly = "readonly" }
: null)
%>

如果要定义更多属性,则必须定义两个匿名类型,并具有多个属性副本。例如,像这样的东西(无论如何我都不喜欢):
ClientId.Length > 0 
? (object)new { @readonly = "readonly", @class = "myCSS" }
: (object)new { @class = "myCSS" }

关于asp.net-mvc - 带有ASP.NET MVC预览5的Html.TextBox条件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/177673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com