Neste código veremos como carregar um DropDownList com os Estados.
Logo após o usuário selecionar um Estado será carregado um outro DropDownList com as Cidades correspondente ao Estado selecionado, isto via DataSet.
Neste código foi utilizado C#.
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using Projeto.Negocio; namespace Projeto.Forms { public partial class frmProjeto : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //Carrega DropDownList com Estados DataSet dsEstados = Filtros.RetornaListaEstados(); ddlEstado.DataSource = dsEstados.Tables[0]; ddlEstado.DataTextField = "estado_sigla"; ddlEstado.DataValueField = "estado_codigo"; ddlEstado.DataBind(); ddlEstado.Items.Add(new ListItem("Todos", "0")); ddlEstado.SelectedValue = "0"; } } protected void ddlEstado_SelectedIndexChanged(object sender, EventArgs e) { //Limpa os Itens do DropDownList Cidade ddlCidade.Items.Clear(); //Carrega DropDownList com Cidades DataSet dsCidades = Filtros.RetornaListaCidades(ddlEstado.SelectedValue); ddlCidade.DataSource = dsCidades.Tables[0]; ddlCidade.DataTextField = "municipios_nome"; ddlCidade.DataValueField = "municipios_codigo"; ddlCidade.DataBind(); ddlCidade.Items.Add(new ListItem("Todos", "0")); ddlCidade.SelectedValue = "0"; } } ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Web; using System.Text; using System.Data; using System.Data.SqlClient; using Projeto.DAO; namespace Projeto.Negocio { public class Filtros { public static DataSet RetornaListaEstados() { try { //Consulta lista de Estados. StringBuilder query = new StringBuilder(); query.Append("select distinct estado_codigo, estado_sigla from TabelaRegiao order by estado_sigla"); //Retorna o dataset. return Dados.retornaQueryDataSet(query.ToString()); } catch (Exception ex) { throw ex; } } public static DataSet RetornaListaCidades(string strEstado) { try { //Consulta lista de Cidades. StringBuilder query = new StringBuilder(); query.Append("select distinct municipios_codigo, municipios_nome from TabelaRegiao where estado_codigo = " + strEstado + " order by municipios_nome"); //Retorna o dataset. return Dados.retornaQueryDataSet(query.ToString()); } catch (Exception ex) { throw ex; } } } } ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace Projeto.DAO { public class Dados { ////// Método que retorna a conexão com a base de dados. /// ///private static SqlConnection connection() { try { //Instância o sqlconnection com a string de conexão. SqlConnection sqlconnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"].ToString()); //Verifica se a conexão esta fechada. if (sqlconnection.State == ConnectionState.Closed) { //Abre a conexão. sqlconnection.Open(); } //Retorna o sqlconnection. return sqlconnection; } catch (SqlException ex) { throw ex; } } /// /// Método que retorna o resultado da consulta sql em um dataset. /// /// ///public static DataSet retornaQueryDataSet(string query) { try { //Instância o sqlcommand com a query sql que será executada e a conexão. SqlCommand comando = new SqlCommand(query, connection()); //Instância o sqldataAdapter. SqlDataAdapter adapter = new SqlDataAdapter(comando); //Instância o dataSet de retorno. DataSet dataSet = new DataSet(); //Atualiza o dataSet adapter.Fill(dataSet); //Retorna o dataSet com o resultado da query sql. return dataSet; } catch (Exception ex) { throw ex; } } } }