我感覺我錯過了一些關於asp.net頁面生命週期的真正基礎。以編程方式使用選中的選項填充CheckBoxList
我有一個CheckBoxList的(雖然同樣的事情用一個ListBox發生)
<asp:CheckBoxList runat="server" ID="cblCountriesAccessible" DataTextField="Text" />
我加入了一堆listItems中的它
var lbData = new List<ListItem>();
lbData.Add(new ListItem("x", "", true));
lbData.Add(new ListItem("y", "", false));
然後將它們綁定到CheckBoxList的
cblCountriesAccessible.DataSource = lbData;
cblCountriesAccessible.DataBind();
而且每次列表中的項目顯示在未選中狀態(或在列表框中未選中) 如果我將ListItems直接添加到標記中的控件中,它們顯示爲已選或未選中狀態。
<asp:ListItem Text="x" Value="" Selected="True" />
我在做錯選擇的代碼沒有通過?我已經嘗試將Checked設置爲true來綁定CheckBox,並且發生同樣的事情。
編輯:好的,我沒有設置正確選擇。現在,我使用
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);
而且他們還沒有加載作爲託運
列表項沒有經過物業,只是選擇的,這是在構造函數中設置。我已經嘗試使用Checked而不是ListItems Checked = true,但是這並不起作用,或者 –
它的Selected未選中,更新我的代碼請看看。 – Adil
已選中已在第三個參數中設置的構造函數中。你可以試試看看,如果你在Page_Load中運行代碼,它們是否顯示爲選中狀態?也許這裏的設置有些奇怪。 –