ここで、asp.netページのライフサイクルについて本当に基本的なものが欠けているように感じます。
私はCheckBoxListを持っています(同じことがListBoxでも起こりますが)
<asp:CheckBoxList runat="server" ID="cblCountriesAccessible" DataTextField="Text" />
たくさんのListItemを追加しています
var lbData = new List<ListItem>();
lbData.Add(new ListItem("x", "", true));
lbData.Add(new ListItem("y", "", false));
次に、それらをCheckBoxListにバインドします
cblCountriesAccessible.DataSource = lbData;
cblCountriesAccessible.DataBind();
また、リスト内のアイテムがチェックされていない(またはリストボックスで選択されていない)状態で表示されるたびに、リストアイテムをマークアップのコントロールに直接追加すると、選択済みまたは未選択として問題なく表示されます。
<asp:ListItem Text="x" Value="" Selected="True" />
選択したコードが実行されない場合、何が間違っていますか?Checkedをtrueに設定してCheckBoxをバインドしようとしましたが、同じことが起こります。
編集:OK、選択を正しく設定していませんでした。私は今使っています
var lbData = new List<ListItem>();
var l1 = new ListItem("yy", "", true) {Selected = true};
var l2 = new ListItem("xx", "", true) {Selected = false};
lbData.Add(l1);
lbData.Add(l2);
そして、それらはまだチェックされたようにロードされていません