I need to get values based on previous dropdownlist value. But I am confused because there are 3 tables that are dependent.
dbo.Client
ClientID(PK) | ClientName
dbo.Client_POC_Bridge
ClientID(FK) | POCID (FK)
dbo.PointOfContact
POCID(PK) | FName | LName
I have 2 dropdownlist:
DropDownList1: I have binded CLient’s table information
DropDownList2: I need FName and Lname from dbo.PointOfContact
So far, this is the code, but it is not working..
protected void DropDownList4_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList6.Items.Clear();
DropDownList6.Items.Add(new ListItem("--Select Point Of Contact--", ""));
DropDownList6.AppendDataBoundItems = true;
String var = System.Configuration.ConfigurationManager.ConnectionStrings["KKSTechConnectionString"].ConnectionString;
String strQuery = "select FirstName, POCID from PointOfCContact " +
"where ClientID=@ClientID";
SqlConnection con = new SqlConnection(var);
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@ClientID",
DropDownList3.SelectedItem.Value);
cmd.CommandType = CommandType.Text;
cmd.CommandText = strQuery;
cmd.Connection = con;
try
{
con.Open();
DropDownList6.DataSource = cmd.ExecuteReader();
DropDownList6.DataTextField = "FirstName";
DropDownList6.DataValueField = "POCID";
DropDownList6.DataBind();
if (DropDownList6.Items.Count > 1)
{
DropDownList6.Enabled = true;
}
else
{
DropDownList6.Enabled = false;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
}
Change following Line…Use Inner Join to get the Values…