我要实现几个二级连动的下拉列表框,所以写了一个方法来实现如下,这个方法没有问题,但是调用的时候,ListSon中总是没有数据。
public void FillList(DropDownList ListFather, DropDownList ListSon)
{
string strFather = ListFather.SelectedItem.ToString();
if (strFather != strEmpty)
{
string strF_id = ListFather.Items[ListFather.SelectedIndex].Value.ToString();
//string strF_id = ListFather.DataValueField[ListFather.SelectedIndex].ToString();
// ListFather已设置了DataValueField属性
string strSql = "select CategoryID,Name from Category where ParentID=" + strF_id;
OleDbConnection conn = getConn();
DataSet ds = new DataSet();
OleDbDataAdapter dap = new OleDbDataAdapter(strSql, conn);
dap.Fill(ds);
ListSon.DataSource=ds.Tables[0].DefaultView;
string stra = ds.Tables[0].DefaultView.Count.ToString();
ListSon.DataTextField = "Name";
ListSon.DataValueField = "CategoryID";
dap.Dispose();
conn.Close();
}
有没有什么好的办法,难道非要把这几行代码在每一个DropDownList里写一遍吗 ?