所以我现在正在处理跨浏览器代码。我有复选框,在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);
}
}
}
答案 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;