允许在Firefox中禁用复选框

时间:2012-07-05 18:00:46

标签: c# asp.net cross-browser

所以我现在正在处理跨浏览器代码。我有复选框,在IE中调用某些函数后禁用,但在Firefox和&铬。

我查看了代码,我发现在Firefox中渲染时,禁用的标记放在td上,这就是为什么它在IE中工作而不是其他浏览器。

在asp.net中是否有办法禁用单元格或复选框并在Firefox,Chrome等中正确渲染?

这是我的函数,其中enabled = false

protected void FilterCheckBox(object sender, ASPxGridViewTableCommandCellEventArgs e)
{
    if (ExecContractGridView != null)
    {
        try
        {
            if (ExecContractGridView.GetRowValues(e.VisibleIndex, "UnionExecutedBy") != null)
            {
                if (!string.IsNullOrEmpty(ExecContractGridView.GetRowValues(e.VisibleIndex, "UnionExecutedBy").ToString()))
                {
                    e.Cell.Enabled = false;
                }
            }
        }
        catch (Exception ex)
        {
            ApplicationLog.Exception(this, ex);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

要正确执行此操作,您需要找到复选框控件并设置disabled = "disabled"

您可以使用JavaScript或jQuery等库在客户端执行此操作。或者,在上面的代码中,一旦有e.Cell,您就可以找到CheckBox控件并将其设置为Enabled = false

为了进一步说明,e.Cell包含CheckBox控件作为其子控件之一。所以你可以这样做:

var control = e.Cell.FindControl("SomeCheckBoxControl") as CheckBox;
if (control != null)
    control.Enabled = false;