我在datalist 嵌套了一个 datalist !我想点击按钮时取嵌套的datalist中 checkbox选中项的 主键!
我写的代码如下!
还有其他的方法吗?
- C# code
foreach (DataListItem di in DataList1.Items) { CheckBox cb = new CheckBox(); DataList ds = (DataList)di.FindControl("DataList2"); //for (int i = 0; i < ds.Items.Count;i++ ) foreach (DataListItem dli in ds.Items) { cb = ((CheckBox)ds.FindControl("CheckBox1")); if (cb.Checked) { //string id = ds.DataKeys[] ; 取选中的主键 } ...... } }
------解决方案--------------------------------------------------------
改成cb = ((CheckBox)dli.FindControl("CheckBox1"));
------解决方案--------------------------------------------------------
换个思路。用JS。
DATALIST不管嵌套几个,最后解析出来都是TABLE。你在生成页面后看源码,可以发现checkbox的ID都变了,但是有规律可找。一般是datalist1_ctl01_checkbox这样的。
找到规律,就可以取到checkbox的值了,主键也就不是问题了。对么?