Criando Cadastros com Estado e Cidade

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > Dicas avançadas >

Criando Cadastros com Estado e Cidade

Previous pageReturn to chapter overviewNext page

Tela

estado_cidade

 

Script do banco

 

Aqui

 

aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication5.WebForm1" %>

 

<!DOCTYPE html>

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

        <br />

        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

        <asp:UpdatePanel runat="server">

            <ContentTemplate>

                <asp:Label ID="Label1" runat="server" Text="Estado "></asp:Label>

                <asp:DropDownList ID="ddlEstado" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlEstado_SelectedIndexChanged"></asp:DropDownList><br />

                <asp:Label ID="Label2" runat="server" Text="Cidade "></asp:Label>

                <asp:DropDownList ID="ddlCidade" runat="server"></asp:DropDownList><br />

                <br />

                <asp:Button ID="btnOk" runat="server" Text="Gravar" OnClick="btnOk_Click" /><br />

                <asp:Label ID="lbSaida" runat="server" Text="-"></asp:Label>

            </ContentTemplate>

        </asp:UpdatePanel>

    </form>

</body>

</html>

 

cs

 

using System;

using System.Data;

using System.Web.UI.WebControls;

 

namespace WebApplication5

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                DataTable dtEstados = Conexao.Select("select id_estado, nome from tb_estado order by nome");

                ddlEstado.DataSource = dtEstados;

                ddlEstado.DataTextField = "nome";

                ddlEstado.DataValueField = "id_estado";

                ddlEstado.DataBind();

                ddlEstado.Items.Insert(0new ListItem("- Selecione um -""0"));

                ddlEstado.SelectedValue = "0";

            }

        }

 

        protected void ddlEstado_SelectedIndexChanged(object sender, EventArgs e)

        {

            ddlCidade.Items.Clear();

            DataTable dtCidades = Conexao.Select("select id_cidade, nome from tb_cidade where id_estado = " + ddlEstado.SelectedValue.ToString());

            ddlCidade.DataSource = dtCidades;

            ddlCidade.DataTextField = "nome";

            ddlCidade.DataValueField = "id_cidade";

            ddlCidade.DataBind();

            ddlCidade.Items.Insert(0new ListItem("- Selecione uma -""0"));

            ddlCidade.SelectedValue = "0";

        }

 

        protected void btnOk_Click(object sender, EventArgs e)

        {

            lbSaida.Text = ddlCidade.SelectedValue + "=" + ddlCidade.SelectedItem.Text;

        }

    }

}

 

Conexao.cs

 

using System;

using System.Configuration;

using System.Data;

using System.Web;

using MySql.Data.MySqlClient;

 

namespace WebApplication5

{

    public class Conexao

    {

        public static string GetStringConexao()

        {

            return "server=localhost;User Id=root;Password=123456;database=junior";

        }

 

        public static DataTable Select(string sql)

        {

            using (MySqlConnection conexao = new MySqlConnection(Conexao.GetStringConexao()))

            {

                DataTable tb = new DataTable();

                try

                {

                    using (MySqlDataAdapter da = new MySqlDataAdapter(sql, conexao))

                        da.Fill(tb);

                }

                catch (Exception ex)

                {

                    throw;

                }

                return tb;

            }

        }

    }

}