数据库里没有空值,在<ItemTemplate>模式下,表的每项label的text都可以显示出来
每次运行到shengfen.DataSource   =   ds.Tables["province"].DefaultView; 
这一句就停止了,出现上面的错误

解决方案 »

  1.   

    试试这个语句:在DataList1_ItemDataBound事件中加
    ((DropDownList)e.Item.FindControl("shengfen")).DataSource = ds.Tables["province"].DefaultView;
      

  2.   

    protected void DataList1_ItemDataBound(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)   
    { if(e.Item.ItemType==ListItemType.EditItem){ string strconn=ConfigurationSettings.AppSettings["ConnectionString"];
    cn=new SqlConnection(strconn);
    string co_id=Request["coid"].ToString();
    //shengfen初始化
    string strSQL1="select * from province";
    SqlDataAdapter da=new SqlDataAdapter(strSQL1,cn);
    DataSet ds=new DataSet();
    da.Fill(ds,"province");
    ((DropDownList)e.Item.FindControl("shengfen")).DataSource   =   ds.Tables["province"].DefaultView;
    }
    }
    }
    我在DataList1_ItemDataBound事件这么写了,但是dropdnowlist没有值,是空的
      

  3.   

    ((DropDownList)e.Item.FindControl("shengfen")).DataSource       =       ds.Tables["province"].DefaultView; 

    /*这里最好不要这么写!改为
    DropDownList shengfen = (DropDownList)e.Item.FindControl("shengfen")).
    if(shengfen != null)

        shengfen.DataSource = ds.Tables["province"].DefaultView;  
        shengfen.DataTextField   =   "province_name";   //dropdownlist的Text的字段 
         shengfen.DataValueField   =   "province_id";//dropdownlist的Value的字段 
         shengfen.DataBind(); 
    }