Я хочу добавить каскадный выпадающий список в свой проект
I want add cascade drop down list in my project and by using stored procedure want to bind data in cascade drop down in asp .Net In three tier architecture project I have two table Department and Designation and I am retrieveing data by using stored procedure and bind department table data to department drop down list. Now when I select any Department Then Cascade (second) drop down should show respective designation related to that department eg i select IT Depart from first Drop down list then second drop down list should show (Tester,.Net Developer,Java Developer)
Первый DropDownList показывает все значения, но второй DropDownList не показывает значения
Что я уже пробовал:
созданы две таблицы 1) DepartmentMaster с двумя столбцами DepartmentId (первичный ключ), DepartmentName 2)DesignationMaster с тремя столбцами Desid (Pk), DesigName, DepartmentId (внешний ключ)
созданная процедура (1)
create procedure [dbo].[spBindDepartment] as begin select * from DepartmentMaster End
Процедура (2)
Create procedure [dbo].[SpBindDesignation] @departmentId int as begin select * from DesignationMaster where DepartmentId=@departmentId End
(Функция доступа к данным)
public DataSet BindDropDownDept() { SqlConnection con = new SqlConnection(Connection); con.Open(); SqlCommand cmd = new SqlCommand("spBindDepartment",con); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); con.Close(); return ds; }
Вызов Бизнес-Логики
EmployeeDetailsDA objEmployeeDetailsDA = new EmployeeDetailsDA(); public DataSet GetDept() { //EmployeeDetailsBL objEmployeeDetailsBL = new EmployeeDetailsBL(); return objEmployeeDetailsDA.BindDropDownDept(); }
Aspx-файл.CS файл привязки
public void BindEmpDD() { EmployeeDetailsBL objEmployeeDetailsBL=new EmployeeDetailsBL(); DataSet ds = objEmployeeDetailsBL.GetDept(); ddlDepartment.DataSource = ds; ddlDepartment.DataTextField = "DepartmentName"; ddlDepartment.DataValueField = "DepartmentId"; ddlDepartment.DataBind(); ddlDepartment.Items.Insert(0, new ListItem("---Select State---")); }
(Он работает нормально)
Теперь для второго падения вниз
Код доступа к данным
public DataSet BindDropDownDesignation() { SqlConnection con = new SqlConnection(Connection); con.Open(); SqlCommand cmd = new SqlCommand("SpBindDesignation", con); cmd.CommandType = CommandType.StoredProcedure; SqlParameter Parameters = new SqlParameter(); cmd.Parameters.AddWithValue("@departmentId", SqlDbType.VarChar); SqlDataAdapter da=new SqlDataAdapter(cmd); DataSet ds=new DataSet(); da.Fill(ds); return ds; //return; }
Код Бизнес-Логики
public DataSet GetDesignation() { EmployeeDetailsDA objEmployeeDetailsDA = new EmployeeDetailsDA(); return objEmployeeDetailsDA.BindDropDownDesignation(); }
Aspx-файл.файл код CS-это
public void BindEmpDesig() { EmployeeDetailsBL objEmployeeDetailsBL = new EmployeeDetailsBL(); DataSet ds = objEmployeeDetailsBL.GetDesignation(); ddlDesignation.DataSource = ds; ddlDesignation.DataTextField = "DesignationName"; ddlDesignation.DataValueField = "DesignationId"; ddlDesignation.DataBind(); ddlDesignation.Items.Insert(0, new ListItem("---Select State---")); }
А я эту функцию на событие изменения свойства selectedIndex кулак выпадающего списка
как
protected void ddlDepartment_SelectedIndexChanged(object sender, EventArgs e) { BindEmpDesig(); }