c# - 如何在 Web 应用程序中将复选框设置为只读

标签 c# asp.net checkbox

我有一个 GridView ,每一行都有一个复选框。当进入编辑模式时,可以选中/取消选中复选框;但我不希望复选框在任何其他模式下都是可编辑的。用户很容易被不反射(reflect)数据库中保存的真实值的复选框搞糊涂。

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

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

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

2) 使用 OnCheckedChange 事件

想法是在它被更改后将其设置回原来的状态。问题是我在 gridview 中移动,我不知道如何确定发生复选框单击的行。这在给定情况下似乎是不可能的。

有什么建议吗? 马丁

最佳答案

您可以通过在 onclick 客户端事件中返回 false 将 CheckBox 设为只读:

<asp:CheckBox ID="checkboxCustomerRequired" runat="server" onclick="return false;" ... />

关于c# - 如何在 Web 应用程序中将复选框设置为只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39134057/

相关文章:

javascript - 从本地存储获取复选框状态

c# - UWP : How to resize an Image

c# - 是否足以禁止输入中的单引号以避免 SQL 注入(inject)?

c# - Topshelf 服务/应用卡在 "Creating"

c# - 在同一线程中类的所有实例之间共享类的数据成员

c# - 对于在 ASP.Net WebAPI 应用程序中存储枚举的位置是否有任何约定?

c# - SEO - 为爬虫重定向 301 的正确方法

c# - 在 ASP.NET 上通过 SOAP 调用 Web 服务的最简单方法

silverlight - 为什么 WP8 LongListSelector 会错误地重用 CheckBox 的 Checked 状态?

javascript - 使用 javascript Controller 中的复选框