4

CheckBoxList コントロールの使用時に問題が発生しています。

この図でわかるように: http://i.stack.imgur.com/IkHXT.png

各 ListItem は、1 行ではなく 2 行で表示されています。

これはコードです:

        <asp:CheckBoxList ID="cblTest" runat="server">
                <asp:ListItem Text="First item"></asp:ListItem>
                <asp:ListItem Text="Second item"></asp:ListItem>
        </asp:CheckBoxList>

参考までに、MetroUI-CSS ( http://metroui.org.ua/ ) ブートストラップを使用しています。

編集: @Royi Namir: JQuery を使用してタグを削除しようとしましたが、機能しません。タグもそのままです。

    <asp:CheckBoxList ID="cblTest" RepeatLayout="Flow" runat="server">
        <asp:ListItem Text="First item"></asp:ListItem>
        <asp:ListItem Text="Second item"></asp:ListItem>
    </asp:CheckBoxList>
    <script type="text/javascript">
        $('#cblTest').find('br').remove();
    </script>

編集 2: @Royi Namir: 問題は
タグではありません。

<span id="body_cblTest"><input id="body_cblTest_0" type="checkbox" name="ctl00$body$cblTest$0" value="First item" /><label for="body_cblTest_0">First item</label></span>

編集 3: 問題は MetroUI-CSS ブートストラップ (metro-bootstrap.css) にありました。@drigomedが言ったように、すべてのラベルをブロックとして表示するように設定していました。

.metro label {
  display: block; /*set this to inline-block*/
  margin: 5px 0;
}
4

4 に答える 4

2

この属性を CheckBoxList に設定します。

  <asp:CheckBoxList    RepeatLayout="Flow"  

これにより、レンダリングがテーブルとしてレンダリングされます。

追加の br は asp.net 経由で挿入されます: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeatlayout(v=vs.110).aspx

ここに画像の説明を入力

JSを使用して削除してください。

于 2014-09-11T08:10:29.557 に答える
1

私は同じ問題を抱えていました。RepeatLayout が Flow として設定されている場合、チェックボックス コントロールのテキスト部分はラベルとしてレンダリングされます。

したがって、すべてのラベルをブロックとして表示するように設定するブートストラップが原因で発生します。アプリの残りの部分に問題を引き起こすこの問題を解決するために、チェックボックスを特定のクラスの div または p にラップし、css に設定しました。

.pCheck label {
    display: inline-block;
    margin-left: 5px;
}
于 2014-09-11T19:21:17.703 に答える