Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 允许在Firefox中禁用复选框_C#_Asp.net_Cross Browser - Fatal编程技术网

C# 允许在Firefox中禁用复选框

C# 允许在Firefox中禁用复选框,c#,asp.net,cross-browser,C#,Asp.net,Cross Browser,所以我现在正在研究跨浏览器代码。我有一些复选框,在IE中,但在Firefox和Chrome中,它们在调用某些函数后会禁用 我查看了代码,发现在Firefox中呈现时,禁用的标记被放置在td上,这就是为什么它在IE中工作,而不是在其他浏览器中工作的原因 在asp.net中是否有方法禁用单元格或复选框,并在Firefox、Chrome等中正确呈现 这里是我的函数,其中enabled=false protected void FilterCheckBox(object sender, ASPxGrid

所以我现在正在研究跨浏览器代码。我有一些复选框,在IE中,但在Firefox和Chrome中,它们在调用某些函数后会禁用

我查看了代码,发现在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);
        }
    }
}

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

您可以在客户端使用JavaScript或类似jQuery的库来实现这一点。或者,在上面的代码中,一旦有了
e.Cell
,您就可以找到
复选框
控件并将其设置为
Enabled=false

为了进一步澄清,
e.Cell
包含一个
复选框
控件作为其子控件之一。所以你可以做:

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

我并不是百分之百地追随。。你能解释一下吗?谢谢,现在只需找到复选框的名称。。我继承了这段代码,在我的设计视图中,我只看到一个gridview,当我检查Chrome中的元素时,它会给我一个巨大的名称来切换每一行,您需要查看ASPX代码来确定控件的调用。或者,如果您正在查看Chrome中的元素,请尝试仅使用损坏名称的结尾。它将是最后一个
$
字符后的最终文本。我输入的ID为ctl00\u middleContent\u ExecContractGridView\u DXSelBtn\n,无名称您需要在ASPX中命名它。