У меня есть CheckboxList, который, кажется, загружает и делает все правильно, за исключением случаев, когда я делаю обратную передачу, у него не будет установлен набор свойств Item.Selected
. У меня отключено viewstate для всей страницы.CheckboxList not setting Selected with Viewstate disabled
я загрузить его, как так (внутри Page_Load
при каждой загрузке):
foreach (DataRow service in d.Tables[0].Rows)
{
cblServices.Items.Add(new ListItem((string)service["description"], service["id"].ToString()));
}
Моя разметка проста:
<asp:CheckBoxList runat="server" ID="cblServices" Width="300px"></asp:CheckBoxList>
, а затем, я использую в основном что-то вроде этого (в ServerSide _Click событие для кнопки)
foreach(ListItem item in cblServices.Items){
if(item.Selected){
MyLabel.Text+="selected: "+item.Value+item.Text;
}
}
и у MyLabel никогда не было добавлено ни одного текста. Я могу проверить с помощью отладчика, что он достигает цикла foreach _Click, но ни один элемент не выбран. Что может быть причиной этого?
Правильно ли я прочитал ваше сообщение, поскольку у вас есть viewstate * disabled *? – ahsteele
@ahs да, для всей страницы. На странице есть другие вещи, которые не играют хорошенько с viewstate, и, кроме того, есть соображения производительности, которые следует учитывать – Earlz
@ahs ahh, теперь я вижу свою опечатку: P исправлено. – Earlz