You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:为@Html.TextBoxFor添加readonly属性失效的问题

解决@Html.TextBoxFor readonly属性不生效的问题

首先看你提供的代码,匿名对象的属性之间缺少逗号分隔,这是导致属性无法正确渲染的直接原因,修正后的代码如下:

@Html.TextBoxFor(m => m.Test.ClientNumber, new { readonly = "readonly", @name = "client", @id="validate", @class = "form-control" })

注意补充了@name = "client"、@id="validate"后面的逗号——C#匿名对象的每个键值对必须用逗号分隔,之前的写法会导致编译错误,Razor引擎无法正确解析这个匿名对象,自然readonly属性不会被输出到最终的HTML中。

如果修正语法后问题仍存在,检查以下两点:

  • 查看页面渲染后的HTML源码,确认<input>标签是否存在readonly="readonly"属性,若不存在,排查是否有其他Razor逻辑覆盖了该属性
  • 检查是否有JavaScript代码在页面加载后动态移除了readonly属性,比如通过element.removeAttribute('readonly')或element.readonly = false这类操作

内容的提问来源于stack exchange,提问作者Queen Mochi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:23:13