遍历删除datalist中选中的复选框

我想在datalist中遍历删除选中的checkbox,但是后台代码获取到前台的checkbox后判断选中状态时始终是false为什么啊!!!!后台代码:foreach(... 我想在datalist中遍历删除选中的checkbox ,但是后台代码获取到前台 的checkbox后 判断选中状态时始终是 false
为什么啊!!!!

后台代码:
foreach (DataListItem item in wjwin.Items)
{
CheckBox chkItem = (CheckBox)item.FindControl("checkid");
Response.Write(chkItem.Checked);//该处始终是false啊
if (chkItem.Checked)
{
判断始终是false 进不来啊啊啊啊啊!!!

}

}
展开
 我来答
学派
2014-03-26 · TA获得超过446个赞
知道小有建树答主
回答量:465
采纳率:100%
帮助的人:256万
展开全部
Page_Load事件中绑定列表的方法代码外套一句:

if(!IsPostBack)
{
//绑定列表代码

}
追问
这句意思是什么啊。。。 新手不懂
追答
列表绑定初始化后,肯定有个默认状态;绑定显示后,此时服务器和客户端你看到的结果没有关系了;
你的代码是在什么时候执行呢?按钮单击?还是复选框状态改变时?不管哪种,你肯定会触发服务器端回发,即回触发Submit提交,此时服务器不知道是第一次请求,还是你的事件请求所以又把服务器要执行的所有代码都执行一遍,所以跟你看到的第一次执行是一样的,因此你的事件代码也看不到效果!

问题是可以解决的,就是在Page_Load里把只在第一次载入要执行的代码放入if(!Page.IsPostBack)内,这是页面属性来判断是第一次执行,还是回发后的执行!出于多种考虑,你要习惯性把载入事件放入刚才的代码内:
具体解释如下:
.. Page_Load()..
{
//如果这是页面第一次请求,而非事件提交回发导致的载入
if(!Page.IsPostBack)
{
//你的代码
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式