我认为他们可以,但我没有把我的钱放在我的嘴(这么说)设置只读属性实际上似乎没有做任何事情。
我宁愿不使用Disabled,因为我希望选中的复选框与表单的其余部分一起提交,我只是不希望客户端能够在某些情况下更改它们。
我认为他们可以,但我没有把我的钱放在我的嘴(这么说)设置只读属性实际上似乎没有做任何事情。
我宁愿不使用Disabled,因为我希望选中的复选框与表单的其余部分一起提交,我只是不希望客户端能够在某些情况下更改它们。
当前回答
我碰巧注意到下面给出的解决方案。在我的研究中发现了同样的问题。 我不知道是谁发的,但不是我做的。它使用jQuery:
$(document).ready(function() {
$(":checkbox").bind("click", false);
});
这将使复选框为只读,这将有助于向客户端显示只读数据。
其他回答
<input type="radio" name="alwaysOn" onchange="this.checked=true" checked="checked">
<input type="radio" name="alwaysOff" onchange="this.checked=false" >
@ (Model.IsEnabled) 使用此条件进行动态检查和取消检查,如果复选框已选中,则设置为只读。
<input id="abc" name="abc" type="checkbox" @(Model.IsEnabled ? "checked=checked onclick=this.checked=!this.checked;" : string.Empty) >
最简单的(在我看来):
onclick="javascript:{this.checked = this.defaultChecked;}"
如果其他人使用MVC和编辑器模板,这就是我如何控制显示只读属性(我使用自定义属性来获取If语句中的值)
@if (true)
{
@Html.HiddenFor(m => m)
@(ViewData.Model ? Html.Raw("Yes") : Html.Raw("No"))
}
else
{
@Html.CheckBoxFor(m => m)
}
很晚才开始贡献……但无论如何。在页面加载时,使用jquery禁用除当前选中的复选框外的所有复选框。然后将当前选中的选项设置为只读,这样它的外观与禁用选项相似。用户不能更改该值,所选值仍然提交。