スタイルを CheckBoxList ListItems に適用する方法を教えてください。を指定できる Repeater などの他のコントロールとは異なり、<ItemStyle>
個々のコントロールごとにスタイルを指定することはできないようです。
何らかの回避策はありますか?
スタイルを CheckBoxList ListItems に適用する方法を教えてください。を指定できる Repeater などの他のコントロールとは異なり、<ItemStyle>
個々のコントロールごとにスタイルを指定することはできないようです。
何らかの回避策はありますか?
次のように、プログラムで ListItems に属性を追加できます。
CheckBoxList があり、ListItems を追加しているとします。途中で属性を追加できます。
ListItem li = new ListItem("Richard Byrd", "11");
li.Selected = false;
li.Attributes.Add("Style", "color: red;");
CheckBoxList1.Items.Add(li);
これにより、listitem テキストの色が赤になります。実験して楽しんでください。
これを行う最善の方法は、新しい CssClass を作成することです。ASP.NET は、CheckBoxList をテーブル構造に変換します。
のようなものを使用して
スタイル.css
.chkboxlist td
{
font-size:x-large;
}
ページ.aspx
<asp:CheckBoxList ID="chkboxlist1" runat="server" CssClass="chkboxlist" />
トリックを行います
アンドリューの答えに加えて...
CheckBoxList
または などに設定したその他の属性に応じてRadioButtonList
、ASP.Net は異なる構造を使用して出力をレンダリングします。たとえば、 を設定RepeatLayout="Flow"
すると、TABLE としてレンダリングされないため、CSS ファイルで使用する子孫セレクターに注意する必要があります。
ほとんどの場合、おそらくいくつかの異なるブラウザーで、レンダリングされたページで「ソースの表示」を実行するだけで、ASP.Net が何をしているかを把握できます。ただし、サーバー コントロールの新しいバージョンや別のブラウザーでは、異なる方法でレンダリングされるという危険があります。
コード ビハインドに属性を追加せずに、特定のリスト アイテムまたはリスト アイテムのセットのスタイルを変更したい場合は、CSS 属性セレクターを使用できます。唯一の欠点は、IE6 でサポートされていないことです。jQueryは CSS 3 スタイルの属性セレクターを完全にサポートしているため、ブラウザーの幅広いサポートにも使用できます。
これはマークアップでも実現できます。
<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' の有効な属性ではないという警告が表示されます。、しかしアイテムはとにかく必要に応じてフォーマットされています。
単語ごとに異なるフォント スタイルと色を設定することもできます。
<asp:ListItem Text="Other (<span style=font-weight:bold;>please </span><span>style=color:Red;font-weight:bold;>specify</span>):" Value="10"></asp:ListItem>
public bool Repeater_Bind()
{
RadioButtonList objRadioButton = (RadioButtonList)eventArgs.Item.FindControl("rbList");
if (curQuestionInfo.CorrectAnswer != -1) {
objRadioButton.Items[curQuestionInfo.CorrectAnswer].Attributes.Add("Style", "color: #b4fbb1;");
}
}