我在WebFrom上有一个CheckBoxList

<asp:CheckBoxList id="chkList" runat="server">
</asp:CheckBoxList>


现在控件已在服务器端填充

DataTable dt = myDatasource

foreach(DataRow dr in dt.Rows)
{
   ListItem li = new ListItem();
   li.Attributes.Add("class", (string)dr["CssClass"]);
   //........ Some More Properties.....

   chkList.Items.Add(li);
}


在此之后,我需要根据某些条件禁用某些复选框

foreach(ListItem item in chkList.Items)
{
   if (// Some Condition)
   {
     item.Enabled = false;
   }
}


现在的问题是,当item.Enabled = false时,class属性被覆盖

class = "aspNetDisabled";


并且不再填充时应用的类。

我需要该类在javascript中进行一些处理。

最佳答案

我有类似的问题。在我的禁用元素上应用了aspNetDisabled类,并且所有禁用控件的颜色都不正确。因此,我使用jquery删除了我不会使用的每个元素/控件上的此类,并且一切正常,现在看起来很棒。

这是我删除aspNetDisabled类的代码:

$(document).ready(function () {

    $("span").removeClass("aspNetDisabled");
    $("select").removeClass("aspNetDisabled");
    $("input").removeClass("aspNetDisabled");

});

关于c# - Asp.Net CheckBoxList ListItem CssClass被aspNetDisabled覆盖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21378932/

10-08 21:56