如何有条件地指定 HTML 输入是 disabled/readonly 还是不是?

How do I conditionally specify whether HTML input is disabled/readonly OR NOT?

这是我正在努力实现的示例:

@Html.EditorFor(m => m.Description, 
  new { htmlAttributes = 
    new 
    {
      @class = "form-control",
      @readonly = Model.IsReadOnly,
      disabled = Model.IsDisabled
    }
  })

问题是浏览器在不检查其内容的情况下对待 readonlydisabled 标记的存在,因此当 IsReadOnlyIsDisabled 属性是false,它仍然会显示为disabled

有什么简单的解决办法吗?

HTML :-

@Html.EditorFor(m => m.Description, 
  new { htmlAttributes = 
    new 
    {
      @class = "form-control"
    }
});

尝试使用 jQuery,如图所示:-

if(@Json.Encode(Model.IsReadOnly))
{
   $('#Description').attr('readonly','readonly')
}

if(@Json.Encode(Model.IsDisabled))
{
   $('#Description').attr('disabled','disabled')
}