Hola Darsk recuerda preguntar por el estado de la conexión para que no hagas el cierre de conexión forzado, podrías hacer lo siguiente :
Código C:
Ver originalprotected void cbRegion_SelectedIndexChanged(object sender, EventArgs e)
{
if(cboRegion.SelectedIndex != -1)
{
string id_region = cbRegion.SelectedValue.ToString();
SqlCommand cmd = new SqlCommand("select * from ciudad where id_region_fk = '" + id_region + "'", conn);
SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn);
DataSet ds = new DataSet();
da.Fill(ds);
this.cbCiudad.DataSource = ds;
this.cbCiudad.DataValueField = "id_ciudad";
this.cbCiudad.DataTextField = "nombre";
this.cbCiudad.DataBind();
if (cbCiudad.Items.Count != 0)
{
string id_ciudad = cbCiudad.SelectedValue.ToString();
cargarComunas(id_ciudad);
if(conn.Status == ConnectionState.Open){
conn.Close();
}
}
else
{
cbCiudad.Items.Clear();
}
}
}
Código C:
Ver originalpublic void cargarCiudades(string id_region)
{
if(cbCiudad.SelectedIndex != -1)
{
SqlCommand cmd = new SqlCommand("select * from ciudad where id_region_fk = '"+id_region+"'",conn);
SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn);
DataSet ds = new DataSet();
da.Fill(ds);
this.cbCiudad.DataSource = ds;
this.cbCiudad.DataValueField = "id_ciudad";
this.cbCiudad.DataTextField = "nombre";
this.cbCiudad.DataBind();
if (cbCiudad.Items.Count != 0)
{
string id_ciudad = cbCiudad.SelectedValue.ToString();
cargarComunas(id_ciudad);
if(conn.Status == ConnectionState.Open){
conn.Close();
}
}
else
{
cbCiudad.Items.Clear();
}
}
}
Código C:
Ver originalpublic void cargarComunas(String id_ciudad)
{
SqlCommand cmd = new SqlCommand("select * from comunas where id_ciudad_fk ='"+id_ciudad+"'", conn);
SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn);
DataSet ds = new DataSet();
da.Fill(ds);
this.cbComuna.DataSource = ds;
this.cbComuna.DataValueField = "id_comuna";
this.cbComuna.DataTextField = "nombre";
this.cbComuna.DataBind();
if(cbComuna.Items.Count !=0)
{
string id_comuna = Convert.ToString(cbComuna.SelectedValue);
}
else
{
cbComuna.Items.Clear();
}
}
Prueba y nos comentas. Saludos!

.