Asp.net asp:CheckBoxList呈现为范围和无复选框(FF和webkit)

Asp.net asp:CheckBoxList呈现为范围和无复选框(FF和webkit),asp.net,google-chrome,firefox,checkboxlist,html-rendering,Asp.net,Google Chrome,Firefox,Checkboxlist,Html Rendering,我正在使用asp.net的CheckboxList控件。在过去,它工作得很好,但在chrome和firefox浏览器中,它开始不能正常渲染。它在InternetExplorer中呈现得非常完美(在我的例子中是9) 它在span标记中呈现,如下所示 <div class="clearfix"> <span id="cntMain_chkColumns">Activity IDActivity TItleSubmitted ByActivity DateRequest D

我正在使用asp.net的CheckboxList控件。在过去,它工作得很好,但在chrome和firefox浏览器中,它开始不能正常渲染。它在InternetExplorer中呈现得非常完美(在我的例子中是9)

它在span标记中呈现,如下所示

<div class="clearfix">
  <span id="cntMain_chkColumns">Activity IDActivity TItleSubmitted ByActivity DateRequest DateAmountStatusExternal Activity IDCustomer ID</span>
</div>
剩下的是jQueryUI可拖动交互小部件的类

下面是我的标记

<asp:CheckBoxList ID="chkColumns" runat="server" RepeatDirection="Horizontal" RepeatColumns="5" RepeatLayout="Flow"></asp:CheckBoxList> 
稍后,我使用一个函数使这些复选框可拖动,并使用对复选框应用一些样式

代码:

    private void EnableDraggingOnItems(DataView dvCustomizableColumns)
    {
       for (int i = 0; i < dvCustomizableColumns.Table.Rows.Count; i++)
        {
         if (hdnSelectedColumns.Value != string.Empty)
          {
           if (hdnSelectedColumns.Value.Contains(chkColumns.Items[i].Value))
            {
              chkColumns.Items[i].Selected = true;
            }
          }
         else
          {
            chkColumns.Items[i].Selected = true;
          }


chkColumns.Items[i].Attributes.Add("class", "defaultP checkbox-wp drag-box-wp  ui-draggable ui-droppable makeDragDrop");
        }
    }
private void EnableDraggingOnItems(DataView-dvcustomizelecolumns)
{
for(int i=0;i
我还检查了chrome是否有一个复选框webkit样式设置为none,但它在css中不存在


如果需要更多信息,请告诉我。

谢谢大家,他们对我的问题很感兴趣。幸运的是我找到了问题的答案。 事实证明,在我的母版页中,有一个以选择器开头的jquery导致复选框列表的innerHtml被修改

$("span[id^='cntMain']").each(function () {
                $(this).text($(this).text().toString().toTitleCase());
            });
这就是为什么它只渲染标签。 我在上面的代码中更改了选择器,如下所示

 $("span[id^='cntMain']:not(:has(*))").each(function () {
                $(this).text($(this).text().toString().toTitleCase());
            });
虽然这是一个非常具体的问题,但我还是发布了答案,以防有人发现它仍然有用


我仍然想知道为什么它在IE中工作,以及它是如何工作的。

您是否尝试过使用
?@KevinMaxwell我需要显示绑定到c#中的数据库表或数据表的多个复选框。它过去是有效的,但我不知道是什么变化打破了这些。我也可以使用复选框,但这需要我使用repeater类型的控件和一些复杂的绑定和预选逻辑。您是否尝试过在没有ezMark插件的情况下使用这些复选框?@KevinMaxwell这对我使用ezMark没有任何影响。问题是标记应该像我为IE浏览器发布的那样呈现,但它根本没有呈现任何输入复选框。您是否尝试过查看chrome中的DOM(F12-开发者工具)是否有任何错误?
    private void EnableDraggingOnItems(DataView dvCustomizableColumns)
    {
       for (int i = 0; i < dvCustomizableColumns.Table.Rows.Count; i++)
        {
         if (hdnSelectedColumns.Value != string.Empty)
          {
           if (hdnSelectedColumns.Value.Contains(chkColumns.Items[i].Value))
            {
              chkColumns.Items[i].Selected = true;
            }
          }
         else
          {
            chkColumns.Items[i].Selected = true;
          }


chkColumns.Items[i].Attributes.Add("class", "defaultP checkbox-wp drag-box-wp  ui-draggable ui-droppable makeDragDrop");
        }
    }
$("span[id^='cntMain']").each(function () {
                $(this).text($(this).text().toString().toTitleCase());
            });
 $("span[id^='cntMain']:not(:has(*))").each(function () {
                $(this).text($(this).text().toString().toTitleCase());
            });