2012-07-05 83 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

相關問題