【发布时间】:2010-04-27 20:20:28
【问题描述】:
我有一个 CheckboxList 似乎可以加载并正确执行所有操作,除了当我执行回发时,它不会设置 Item.Selected 属性。我为整个页面禁用了视图状态。
我像这样加载它(在每次加载时在 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>
然后,我基本上使用这样的东西(在按钮的 _Click 服务器端事件中)
foreach(ListItem item in cblServices.Items){
if(item.Selected){
MyLabel.Text+="selected: "+item.Value+item.Text;
}
}
MyLabel 从来没有添加任何文本。我可以用调试器验证它确实到达了 _Click 的 foreach 循环,但没有选择任何项目。这可能是什么原因?
【问题讨论】:
-
我是否正确阅读了您的帖子,因为您的视图状态已禁用?
-
@ahs 是的,对于整个页面。页面上还有其他一些东西不能很好地与视图状态配合使用,另外还有一些性能方面需要考虑
-
@ahs 啊,现在我看到了我的错字:P 已更正。
标签: c# asp.net postback checkboxlist