如何在Web应用程序中创建Checkbox ReadOnly

Bar*_*eck 2 c# asp.net checkbox

我有一个gridview,每行都有一个复选框.进入编辑模式时,可以选中/取消选中复选框; 但我不希望复选框在任何其他模式下可编辑.用户很容易被复选框搞糊涂,这些复选框不能反映保存在数据库中的实际值.

<asp:CheckBox id="checkboxCustomerRequired" runat="server" Checked='<%# Bind("CustomerRequired") %>' Enabled="false" CssClass="Check"/>
Run Code Online (Sandbox Code Playgroud)

我尝试过的可能的解决方法:
1)设置enabled = false

这实现了目标,但灰色的盒子很难看,并且无法一目了然地捕获它的状态.因此,我尝试将OnRowDataBound事件中的框的前景颜色设置为白色,但它不起作用.Checkbox.ForeColor = System.Drawing.Color.White;

2)使用OnCheckedChange事件

这个想法是在它改变之后将它的状态设置回来.问题是我在gridview中移动,我无法弄清楚如何建立Checkbox Click发生的行.在特定情况下,这似乎不可能.

有什么建议?马丁

Con*_*Fan 9

您可以将CheckBox只读返回falseonclick客户端事件:

<asp:CheckBox ID="checkboxCustomerRequired" runat="server" onclick="return false;" ... />
Run Code Online (Sandbox Code Playgroud)