2011-07-13 26 views
1

我是C#和ASP.NET的新手。CheckBoxList上的DataBind():获取的问题。选中

我有一个名为DeploySelectList的CheckBoxList。如果我手动添加项目到列表如下,我没有问题得到。选中项目后点击提交按钮。

protected void Page_Load(object sender, EventArgs e) { 
     DeploySelectList.Items.Add("test 1"); 
     DeploySelectList.Items.Add("test 2"); 
     DeploySelectList.Items.Add("test 3"); 
} 

但是,如果我创建了一个数据绑定到一个List对象,所有DeploySelectList项目总是有.Selected =假

protected void Page_Load(object sender, EventArgs e) { 
     List<String> list = DBFunctions.getDeploymentSelection(); 
     DeploySelectList.DataSource = list; 
     DeploySelectList.DataBind(); 
} 

为什么会发生这种情况?

谢谢。

编辑:根据下面的注释,在if (!IsPostBack)块添加代码解决了问题。我仍然不明白为什么手动执行和执行DataBinding时的问题不一样。看来在这两种情况下,选择都应该丢失。

这个问题应该删除吗?

+1

也许你需要把代码放在if(!IsPostback)块中? ref:http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx –

回答

相关问题