实现大类与小类的联动性
private void BindIncidentCategory() { using (SPSite site = new SPSite(rootsiteurl)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["IncidentCategory"]; SPListItemCollection listitem = list.Items; DataTable dt = listitem.GetDataTable(); DataView dvSort = new DataView(dt); string[] colName = new string[] { "CategoryName" }; DataTable dtLargeSort = dvSort.ToTable(true, colName); DropDownListIncidentCategory.DataValueField = "CategoryName"; DropDownListIncidentCategory.DataValueField = "CategoryName"; DropDownListIncidentCategory.DataSource = dtLargeSort; DropDownListIncidentCategory.DataBind(); BindIncidentSubCategory(DropDownListIncidentCategory.SelectedItem.Text); } } } private void BindIncidentSubCategory(string IncidentCategory) { using (SPSite site = new SPSite(rootsiteurl)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["IncidentCategory"]; SPQuery query = new SPQuery(); query.Query = "<Where><Eq><FieldRef Name='CategoryName'/><Value Type='Text'>"+IncidentCategory+"</Value></Eq></Where>"; SPListItemCollection listitem = list.GetItems(query); DataTable dt = listitem.GetDataTable(); DropDownListIncidentSubCategory.DataTextField = "SubCategoryName"; DropDownListIncidentSubCategory.DataValueField = "SubCategoryName"; DropDownListIncidentSubCategory.DataSource = dt; DropDownListIncidentSubCategory.DataBind(); } } } protected void DropDownListIncidentCategory_SelectedIndexChanged(object sender, EventArgs e) { BindIncidentSubCategory(DropDownListIncidentCategory.SelectedItem.Text.Trim()); }
注意要把DropDownListIncidentCategory中AutoPostBack属性设成true