2012-07-05 52 views
0

所以我正在研究跨浏览器的代码。我有复选框,在IE中调用某些功能后禁用,但Chrome浏览器不支持Firefox &。允许在Firefox中禁用复选框

我查看了代码,发现在Firefox中呈现时,禁用标签被放置在td上,这就是为什么它可以在IE中使用,而不是其他浏览器。

在asp.net中是否有禁用单元格或复选框并使其在Firefox,Chrome等中正确呈现的方法?

这里是我的函数,其中启用=假

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

要正确,你要查找的CheckBox控件,并设置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; 
+0

我不是100%以下..你能解释一下吗? – TheLifeOfSteve 2012-07-05 18:04:27

+0

请参阅我的编辑。 – Yuck 2012-07-05 18:14:03

+0

谢谢,现在只是找到复选框的名称..我继承了这个代码,并在我的设计视图中,我只看到一个gridview,当我检查Chrome中的元素时,它给了我一个巨大的名称,切换每一行 – TheLifeOfSteve 2012-07-05 18:20:09

相关问题