DataGrid中Checkbox的取值问题
for(int i=0;i<this.DataGrid1.Items.Count-1;i++)
{
CheckBox chkItem = (CheckBox)DataGrid1.Items[i].Cells[0].FindControl("chkItem");
if(chkItem.Checked)
{
Response.Write("good");
}
else
{
Response.Write("bad");
}
}
我用的是模板列,提交的时候输出总是 bad,不知是什么原因.另外如果用绑定列应该是怎样的,谢谢
问题点数:30、回复次数:5Top
1 楼jinhui0203(雅莘)回复于 2006-03-13 15:31:25 得分 10
DataGrid绑定数据的代码放到if(!Page.IsPostBack){}中试试,觉得你遇到的问题是这方面的原因Top
2 楼minajo21(大眼睛)回复于 2006-03-13 15:31:36 得分 5
foreach(DataGridItem dataGridItem in this.DataGrid1.Items)
{
bool bIsChecked =((CheckBox)dataGridItem.FindControl("chkItem")).Checked;
// .....
}Top
3 楼minajo21(大眼睛)回复于 2006-03-13 15:32:14 得分 5
dataGridItem.FindControl
不是
DataGrid1.Items[i].Cells[0].FindControlTop
4 楼NeilChen123(木野狐)回复于 2006-03-13 15:32:33 得分 5
asp.net 1.1 里面绑定列没有可以直接输出 checkbox 的。
如果是 2.0 还有可能。
Top
5 楼robert2004(我能发财)回复于 2006-03-13 16:42:03 得分 5
你先
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<INPUT id="check" type="checkbox" name="check" value ='<%# DataBinder.Eval(Container.DataItem,"ID") %>'>
</ItemTemplate>
你直接用request[checkbox的name值]判断checkbox的value值 和ID值相等不
---------------------------
苦海无边 回头无岸
---------------------------
Top




