RadioButtonList selectedItemがNewの場合、Repeater DropDownListの背景色をGrayに変更しようとしています。リピータードロップダウンリストの背景色を条件付きで変更しますか?
それ以外の場合は、背景を白にします。
次のコードは、RadioButtonList selectedItemが新規か使用されているかにかかわらず、背景をGrayに保ちます。
私には何が欠けていますか?
// CSS
<style>
.disabledcss
{
background-color: #F9F9F9;
color: blue;
border: 1px solid gray;
color: Gray;
}
</style>
<style>
.enabledcss
{
background-color: #fff;
color: blue;
border: 1px solid white;
color: Gray;
}
</style>
//マークアップ:
<tr>
<td>
Item Type:<asp:RadioButtonList ID="rblPType" runat="server" ValidationGroup ="stype" RepeatDirection="Horizontal" TextAlign="Right" style="display:inline;" AutoPostBack="true" OnSelectedIndexChanged="rblPurchaseType_SelectedIndexChanged">
<asp:ListItem Text="New" />
<asp:ListItem Text="Used" />
</asp:RadioButtonList><br />
<asp:RequiredFieldValidator style="color:#ff0000;" id="RequiredFieldValidator1" ControlToValidate="rblPurchaseType" ErrorMessage="Please choose New or Used" ValidationGroup ="stype" runat="server" />
</td>
<td></td>
</tr>
<tr>
<td colspan="2">
<asp:Panel ID="uPanel" runat="server" Enabled="false">
STATE: <asp:DropDownList ID="ddlState" cssClass="disabledcss enabledcss" runat="server" AppendDataBoundItems="True">
<asp:ListItem Value="" Selected="True"></asp:ListItem>
</asp:DropDownList>
</div></span></asp:Panel>
</td>
</tr>
C#のItemDataBoundイベントで
RadioButtonList rbPurchase = e.Item.FindControl("rblPType") as RadioButtonList;
foreach (RepeaterItem ReapterItem in Repeater2.Items)
{
var rblType = (DropDownList)e.Item.FindControl("ddlState");
if (rblType.Enabled == false)
{
rblType.CssClass = "disabledcss";
}
else
{
rblType.CssClass = "enabledcss";
}
}
注:私はしないでください。このフォーラムでは約3つの例を見てきました自分自身に適用する。
お使いのブラウザでは、あなたのクラスは来ていますか? – Yogesh
なぜ、両方ともcssClass = "disabledcss enabledcss"を使用していますか?また、完全なHTMLマークアップを送ることができますか? –
@ SamanGholami、私は当初、灰色の背景になったdisabledcssクラスを使用しました。 enabledcssクラスを追加しても差はありません。私が何かを残してしまった場合に備えて、私はそれをここに掲載しました。 完全なCSSは1500行です。私は関連コードを掲示した。 – Kenny