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

错误:对象必须实现 IConvertible
int   i   =   0;
                int[]   EstateIDList   =   new   int[10];
                     
         
                foreach   (DataListItem   item   in   DataList1.Items)
                {
                       
                       
                       
                        if   (item.ItemType   ==   ListItemType.Item   ||   item.ItemType   ==   ListItemType.AlternatingItem   ||   item.ItemType   ==   ListItemType.EditItem)
                        {
                                CheckBox   chk   =   (CheckBox)item.FindControl( "CheckBoxBiJiao ");
                                if   (chk.Checked)
                                {
                                        int   EstateID   =   ((int)DataList1.DataKeys[item.ItemIndex]);
                                        EstateIDList[i]   =   EstateID;
                                        i++;
                                }
                        }

                }
                Session[ "EstateIDList "]   =   EstateIDList;

Response.Redirect( "~/Estate/EstateCompare.aspx ");
这是代码,在另个界面,有个datalist直接将session[ "EstateIDList "]做为objectdatasource的参数,就报这个错误

------解决方案--------------------
Session[ "EstateIDList "] = EstateIDList;
有个datalist直接将session[ "EstateIDList "]做为objectdatasource的参数

---------
我没这么用过,个人认为不可以绑定数组到DataList
------解决方案--------------------
((int)DataList1.DataKeys[item.ItemIndex])
============================================
Convert.ToInt32(DataList1.DataKeys[item.ItemIndex].ToString())