C# 允许在Firefox中禁用复选框
所以我现在正在研究跨浏览器代码。我有一些复选框,在IE中,但在Firefox和Chrome中,它们在调用某些函数后会禁用 我查看了代码,发现在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
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中命名它。