js中三目运算及readonly的解决办法

我的一个需求,判断一个资产的代码,如果没有代码,可以编辑,如果有,只读。

首先判断资产的有无:@Model.AssetCode==null,结果@Model.AssetCode为空的时候语法错误,最后想了个办法,取长度判断@Model.AssetCode.Length==0

@{ bool isAssertCodeNull=@Model.AssetCode.Length==0?false:true;}

然后传值到html中  

 <input id="AssetCode" value="@Model.AssetCode"  readonly=@isAssertCodeNull />

但当AssetCode为空的时候还是不能编辑。用来,只要 input 有readdonly属性,不管其值是什么,都不可编辑。

最后的解决办法,在js中,判断AssetCode的长度是否为0,是,移除readonly属性,问题解决

   if(@Model.AssetCode.Length==0)
    {
        $('#AssetCode').removeAttr('readonly');
    }
原文地址:https://www.cnblogs.com/zsanhong/p/3178212.html