日期:2014-05-20  浏览次数:20809 次

遇到一个难题!
在DataList的ItemTemplate中,我添加了名为CheckBox1的控件,
如何循环得到它的值???
在一个页面里有多个DataList控件。。。。头疼死了,
多个DataList控件还被放置在了Wizard1控件中的某一步上。。。

谁帮帮我

------解决方案--------------------
你先找到 DataList空间,然后就开始循环DataList的Items属性。
类似下面这样。
foreach (DataListItem item in DataList1.Items)
{
CheckBox c = item.FindControl( "CheckBox1 ") as CheckBox;
if (c != null)
{
//做一些处理。
}
}
------解决方案--------------------
同意楼上
------解决方案--------------------
up
------解决方案--------------------
你是要获取CheckBox的名字还是是否Checked?
如果你要获得那个控件的名字的话,当然在服务器端查找出来的都是CheckBox1了,你看一下在前台生成的那些控件名,一般会是这样子的DataList1_ctl02_CheckBox1,DataList1_ctl03_CheckBox1,DataList1_ctl04_CheckBox1....
你可以改成这样
foreach(DataListItem i in this.DataList1.Items)
{
bool isCheck = ((CheckBox)i.FindControl( "CheckBox1 ")).Checked;
if (isCheck)
{
Response.Write( "DataList1_ctl0 "+(i+2).ToString()+ "_CheckBox1 ");
}
}
如用Javascript的话,找控件的Id就是这样子的,生成的Html文件的Id
------解决方案--------------------
if (isCheck)
{
Response.Write(i.FindControl( "CheckBox1 ").ID);
}


改成 这样
if (isCheck)
{
Response.Write(i.FindControl( "CheckBox1 ").Text);//这儿ID改为Text
}