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时的问题不一样。看来在这两种情况下,选择都应该丢失。
这个问题应该删除吗?
也许你需要把代码放在if(!IsPostback)块中? ref:http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx –