私はこのリピータを別のリピータに持っています。私がやりたい何ダイナミックに割り当てられたIDを持つネストされたリピータのdivにクラスを追加または追加しますか?
<asp:Repeater ID="rpDB_item" runat="server" OnItemDataBound="rpDB_item_ItemDataBound">
<ItemTemplate>
<div class="row anj" id="ncollapse<%# ((((RepeaterItem)Container.Parent.Parent).ItemIndex)) %>" >
...
</div>
</ItemTemplate>
</asp:Repeater>
は.collapsed
でid=ncollapse(x)
と行のクラスに追加されます。たとえば、複数のdivがあり、id=ncollapse4
などがあります。コードビハインド(C#)の.collapsed
クラスを持つdivのクラスをどのように追加しますか?または、これはaspxページのクラスインラインセットの方が良いでしょうか?私は定義文としてスイッチを使用することを好むだろう。なぜなら、sStatus
ができるオプションがいくつかあるからである。
私は、(常にnullであるように思われる)の背後にあるコードで nc.Attributes["class"] = "collapsed"
を設定するが、nc
にnull参照を取得
HtmlGenericControl nc = (HtmlGenericControl)(e.Item.FindControl("ncollapse"+((((RepeaterItem)e.Item.Parent.Parent).ItemIndex).ToString())));
を試してみました。同様に、
<div class="row anj <%# switch (DataBinder.Eval(Container.DataItem,"sStatus").ToString())
{ case "OFFLINE": case "RECOVERY_PENDING": case "UNKNOWN":
Response.Write("collapsed");
break;
default:
Response.Write("");
break;
};%> id="<%# (DataBinder.Eval(Container.DataItem,"sStatus").ToString() == "OFFLINE" ? "n" : "ncollapse"+((((RepeaterItem)Container.Parent.Parent).ItemIndex).ToString())) %>">
これは私にswitch
のエラーを与えています。私がどこに行くか、次にどこに向かうかわからない。思考?
これは私の最高の選択肢かもしれません。私はそれを見る。ただし、復帰句が復帰に代わるため、復帰句は使用されないか、必要になるため、復帰句は必要ありません。 –
@ user992069、あなたは正しいですが、両方の "休憩"を削除しました – Andrei
私にKISSを思い出させるためのThnaks - Keep It Simple Solution。それは完全に動作します。今すぐアコーデオンの残りの部分を取得し、クラス作業をトグルする –