【问题标题】:ASP.NET - Set CheckBoxList input tag "class" attributeASP.NET - 设置 CheckBoxList 输入标记“类”属性
【发布时间】:2011-12-04 22:48:33
【问题描述】:

我正在使用 asp.net 4.0 应用程序,我想知道是否可以在复选框列表控件创建的复选框(输入标记)上设置类属性。

以下所做的是将输入标签包装在一个跨度标签中并将类应用于该标签:

foreach (ListItem li in CheckBoxList1.Items)
{
   li.Attributes.Add("class", "check-if-dirty");
}

创建:

<span class="check-if-dirty"><input id="MainContent_CheckBoxList1_0" type="checkbox" name="ctl00$MainContent$CheckBoxList1$0" value="a" /><label for="MainContent_CheckBoxList1_0">a</label></span>

我想要的是这个:

<span><input class="check-if-dirty" id="MainContent_CheckBoxList1_0" type="checkbox" name="ctl00$MainContent$CheckBoxList1$0" value="a" /><label for="MainContent_CheckBoxList1_0">a</label></span>

谢谢。

【问题讨论】:

    标签: asp.net html asp.net-4.0 checkboxlist


    【解决方案1】:

    我知道这里没有标记 jQuery,但是这里有一些简单的代码可以实现这一点,如果你恰好可以选择使用这个库的话。

    $("span.check-if-dirty").each(function() {
        $(this).children("input").addClass("check-if-dirty");
    });
    

    可能有一种方法可以让 asp.net asp.net 做你想做的事,方法是在页面生命周期的 PreRender 部分搞乱。如果这个答案对你不起作用,你可能会调查一下。对不起,我不能提供更好的帮助。

    【讨论】:

    • 这绝对是最简单的方法,除了在顶层设置 CSS 样式 - 例如跨度输入{风格; } 作为选择器。不幸的是,CheckBoxList 非常烦人,并且不会像不起眼的 Checkbox 那样暴露 InputAttributes。
    • 我实现了这个并且它可以工作......所以我会继续使用它!谢谢!
    • 是的 jQuery 可以工作,但是解决方案背后的代码呢?
    • @Tom - 怎么样?正如我在答案中所说,我没有解决方案背后的代码。如果你这样做了,那么一定要提供一个。
    • 一切都好@Adam,我没有解决方案,这就是为什么我一直在寻找并评论您的答案。谢谢。
    【解决方案2】:

    只要类只是在复选框上设置属性而不是用作某些 JQuery 的选择器,使用 CSS 就可以做到这一点。例如为一个大复选框设置属性:

    css 文件:

    .BigCheckbox input[type="checkbox"] {
        width:20px;
        height:20px;
    }
    

    aspx 页面:

    <asp:CheckBox ID="CheckBoxSelect" runat="server" CssClass="BigCheckbox"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 2013-03-26
      • 2013-04-24
      相关资源
      最近更新 更多