日期:2014-05-18  浏览次数:20456 次

关于 DataList 中 嵌套 Datalist 的取值问题!
我在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的值了,主键也就不是问题了。对么?