27

スタイルを CheckBoxList ListItems に適用する方法を教えてください。を指定できる Repeater などの他のコントロールとは異なり、<ItemStyle>個々のコントロールごとにスタイルを指定することはできないようです。

何らかの回避策はありますか?

4

6 に答える 6

27

次のように、プログラムで ListItems に属性を追加できます。

CheckBoxList があり、ListItems を追加しているとします。途中で属性を追加できます。

ListItem li = new ListItem("Richard Byrd", "11");
li.Selected = false;
li.Attributes.Add("Style", "color: red;");
CheckBoxList1.Items.Add(li);

これにより、listitem テキストの色が赤になります。実験して楽しんでください。

于 2008-09-19T19:03:40.423 に答える
14

これを行う最善の方法は、新しい CssClass を作成することです。ASP.NET は、CheckBoxList をテーブル構造に変換します。

のようなものを使用して

スタイル.css

.chkboxlist td 
{
    font-size:x-large;
}

ページ.aspx

<asp:CheckBoxList ID="chkboxlist1" runat="server" CssClass="chkboxlist" />

トリックを行います

于 2008-09-19T18:52:47.767 に答える
6

アンドリューの答えに加えて...

CheckBoxListまたは などに設定したその他の属性に応じてRadioButtonList、ASP.Net は異なる構造を使用して出力をレンダリングします。たとえば、 を設定RepeatLayout="Flow"すると、TABLE としてレンダリングされないため、CSS ファイルで使用する子孫セレクターに注意する必要があります。

ほとんどの場合、おそらくいくつかの異なるブラウザーで、レンダリングされたページで「ソースの表示」を実行するだけで、ASP.Net が何をしているかを把握できます。ただし、サーバー コントロールの新しいバージョンや別のブラウザーでは、異なる方法でレンダリングされるという危険があります。

コード ビハインドに属性を追加せずに、特定のリスト アイテムまたはリスト アイテムのセットのスタイルを変更したい場合は、CSS 属性セレクターを使用できます。唯一の欠点は、IE6 でサポートされていないことです。jQueryは CSS 3 スタイルの属性セレクターを完全にサポートしているため、ブラウザーの幅広いサポートにも使用できます。

于 2008-09-23T00:17:52.127 に答える
5

これはマークアップでも実現できます。

<asp:ListItem Text="Good" Value="True" style="background-color:green;color:white" />
<br />
<asp:ListItem Text="Bad" Value="False" style="background-color:red;color:white" />

Style という単語には下線が引かれ、属性 'style' は要素 'ListItem' の有効な属性ではないという警告が表示されます。、しかしアイテムはとにかく必要に応じてフォーマットされています。

于 2012-03-09T10:23:13.650 に答える
2

単語ごとに異なるフォント スタイルと色を設定することもできます。

<asp:ListItem Text="Other (<span style=font-weight:bold;>please </span><span>style=color:Red;font-weight:bold;>specify</span>):" Value="10"></asp:ListItem>
于 2013-10-25T18:04:24.993 に答える
1
public bool Repeater_Bind()
{
    RadioButtonList objRadioButton = (RadioButtonList)eventArgs.Item.FindControl("rbList");
    if (curQuestionInfo.CorrectAnswer != -1) {
        objRadioButton.Items[curQuestionInfo.CorrectAnswer].Attributes.Add("Style", "color: #b4fbb1;");
    }
}
于 2012-06-28T17:44:50.653 に答える