0

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

我查看了代码,发现当在 Firefox 中呈现时,禁用的标签被放置在 IE 上,td这就是它在 IE 中而不是其他浏览器中工作的原因。

asp.net 中有没有办法禁用单元格或复选框并让它在 Firefox、Chrome 等中正确呈现?

这是我的功能,其中启用 = 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);
        }
    }
}
4

1 回答 1

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;
于 2012-07-05T18:02:30.927 回答