我认为他们可以,但我没有把我的钱放在我的嘴(这么说)设置只读属性实际上似乎没有做任何事情。

我宁愿不使用Disabled,因为我希望选中的复选框与表单的其余部分一起提交,我只是不希望客户端能够在某些情况下更改它们。


当前回答

@ (Model.IsEnabled) 使用此条件进行动态检查和取消检查,如果复选框已选中,则设置为只读。

 <input id="abc" name="abc"  type="checkbox" @(Model.IsEnabled ? "checked=checked onclick=this.checked=!this.checked;" : string.Empty) >

其他回答

这适用于我的Chrome浏览器:

<input type="checkbox" onclick="return false">

在这里,你们没有人想到的是,你们都在使用JavaScript,任何用户都可以很容易地绕过它。

简单地禁用它将禁用所有JQuery/Return False语句。

只读复选框的唯一选项是服务器端。

显示他们,让他们改变他们,但不接受新的帖子数据从他们。

你总是可以使用一个小图像,看起来像一个复选框。

<input type="checkbox" onclick="this.checked=!this.checked;">

但你绝对必须验证服务器上的数据,以确保它没有被更改。

<input name="isActive" id="isActive" type="checkbox" value="1" checked="checked" onclick="return false"/>