Usuário com melhor resposta
Dropdownlist selectedindexchanged

Pergunta
-
Pessoal, um bom dia à todos
Estou com um probleminha no dropdowlist.
O evento selectedindexchanged não funciona de jeito nenhum. Coloquei um código simples conforme mostro agora:
protected void estados_SelectedIndexChanged(object sender, EventArgs e)
{
int a = 5;
int z = (a * 5);
}Tem algo de errado ?
Depois que conseguir fazer funcionar, vou implementar uma rotina que irá preencher um segundo dropdownlist de cidades com base no dropdownlist que irá ter a relação dos estados.
Alguém sabe o que estou fazendo de errado ?
Abraços.
Respostas
-
Oi Junior
Meu dropdownlist ta assim:
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="False"> </asp:DropDownList>
Daniel, este é o nome do seu evento
protected void estados_SelectedIndexChanged(object sender, EventArgs e)
olha acima o nome do evento no aspx
Jéferson Tavares
Olá, o Jéfferson está correto. No seu aspx o evento está com um nome e no code behind outro:
ASPX:
state_SelectedIndexChanged
Code behind:
estados_SelectedIndexChanged
A menos que já tenha alterado, o seu problema está aí.
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 11:50
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:12
-
Oi Junior
Meu dropdownlist ta assim:
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="False"> </asp:DropDownList>
Daniel, este é o nome do seu evento
protected void estados_SelectedIndexChanged(object sender, EventArgs e)
olha acima o nome do evento no aspx
Jéferson Tavares
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 11:51
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:12
-
Daniel pq vc deixou o enableviewstate = false
Esse é o problema já que sem o viewstate ele nao guarda o valor anterior.
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:01
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:12
-
Daniel, o nome do teu evento no asp e na classe cs estão iguais?
Jéferson Tavares
- Marcado como Resposta Daniel Village sexta-feira, 23 de maio de 2014 17:51
Todas as Respostas
-
-
-
Cara eu te aconselho a usar o SelectedValueChanged para fazer esse código dos Combos com Cidades e Estados.
Tenta fazer por esse evento que falei, e não esquece de mudar o aspx.
Jéferson Tavares
- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 21 de maio de 2014 15:30
- Editado Jéferson Tavares quarta-feira, 21 de maio de 2014 16:29
- Não Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 11:49
-
Cara bom dia,
Pode ser simplesmente o AutoPostBack="true"... segue exemplo de um dropdown funcionando:
<asp:DropDownList id="estados" AutoPostBack="true" OnSelectedIndexChanged="estados_SelectedIndexChanged" runat="server">
<asp:ListItem Text="São Paulo" Value="SP"></asp:ListItem>
<asp:ListItem Text="Rio de Janeiro" Value="RJ"></asp:ListItem>
<asp:ListItem Text="Minas Gerais" Value="MG"></asp:ListItem>
</asp:DropDownList>- Sugerido como Resposta Ricardo Barbosa Cortes quarta-feira, 21 de maio de 2014 15:30
- Não Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 11:48
-
Ele não entra no código do dropdownlist de jeito nenhum.
O Page_Load tem o seguinte código:
protected void Page_Load(object sender, EventArgs e)
{
binds();
}O methodo binds ...
protected void binds()
{
SqlConnection strcon1 = new SqlConnection(mytools.stringconection);
strcon1.Open();
string ADDStr = "select estsigla, estdesc from estados order by 1 asc ";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(ADDCmd);
adapter.Fill(table);
state.DataSource = table;
state.DataValueField = "estsigla";
state.DataTextField = "estdesc";
state.DataBind();
}Meu codigo aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/masterpage.Master" EnableViewState="false" AutoEventWireup="true" CodeBehind="quarto.aspx.cs" Inherits="quickroom.quartos" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script src="js/jquery.mask.min.js"></script>
<script src="js/jquery.maskMoney.min.js"></script>
<script>
$(function (load) {
var currentYear = (new Date).getFullYear();
var currentnumber;
$("#price").maskMoney({ prefix: 'R$ ', thousands: '.', decimal: ',', affixesStay: true });
$("#price2").maskMoney({ prefix: 'R$ ', thousands: '.', decimal: ',', affixesStay: true });
$("#phone").focusout(function ()
{
var phone, element, currentnumber;
element = $(this);
phone = element.val().replace(/\D/g, '');
currentnumber = phone.substring(0, 2);
if ((currentnumber > 11) && (currentnumber < 20))
element.mask("(99) 99999-9999");
else
element.mask("(99) 9999-9999");
});
$("#datepicker").datepicker
(
{
dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S', 'D'],
dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb', 'Dom'],
monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
nextText: 'Próximo',
prevText: 'Anterior',
yearRange: '2014:2030',
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
}
);
});
</script>
<div>
<!-- start subheader -->
<section class="subHeader description">
<div class="container">
<h1>Anunciar quarto</h1>
<form method="post" action="#" enctype="multipart/form-data"> </form>
</div><!-- end subheader container -->
</section><!-- end subheader section -->
<div id="divwarning"> </div>
<!-- start my properties list -->
<section class="properties">
<div class="container">
<div class="row">
<!-- start property info -->
<div class="col-lg-4 col-md-4">
<h3>Informações gerais</h3>
<div class="divider"></div>
<div class="sidebarWidget submission">
<form method="post" action="#" enctype="multipart/form-data"> </form>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="state">Título do Anúncio</label>
<input type="text" runat="server" name="title" id="title"/>
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="description">Detalhes</label><br/>
<textarea name="details" runat="server" id="details" class="formDropdown"></textarea><br/><br/>
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="image">Foto Principal</label><br/>
<input id="image" accept="image/*" type="file">
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="address">Endereço</label>
<br/>
<input type="text" runat="server" name="address" id="address" />
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="address">Bairro</label>
<br/>
<input type="text" runat="server" name="neiber" id="neiber" />
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="city">Estado</label><br/>
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="False"> </asp:DropDownList>
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="state">Cidade</label>
<select name="citys" runat ="server" id="citys" class="formDropdown">
<option value="Contagem">Contagem</option>
</select>
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="state">Telefone</label>
<input type="text" name="phone" id="phone" /></div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="state">Dono</label>
<select name="owner" runat ="server" id="owner" class="formDropdown">
<option value="Sim">Sim</option>
<option value="Não">Não</option>
</select>
</div>
</div>
<div class="col-lg-12 col-md-12 col-sm-6">
<div class="formBlock">
<label for="state">Mora no local</label>
<select name="state" runat="server" id="live" class="formDropdown">
<option value="Sim">Sim</option>
<option value="Não">Não</option>
</select>
</div>
</div>
<div style="clear:both;"></div>
</div><!-- end row -->
</div>
</div>
<!-- end property info -->
<div class="col-lg-4 col-lg-offset-4 col-md-4">
<div class="formBlock">
<asp:Button ID="Button2" runat="server" CssClass="buttonColor" OnClick="Button2_Click" Text="Salvar" />
</div>
</div>
</div><!-- end row -->
</div><!-- end container -->
</section>
<!-- end my properties list -->
</div>
</asp:Content>
-
Oi Junior
Meu dropdownlist ta assim:
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="False"> </asp:DropDownList>
-
-
-
Junior,
Esse é o codigo da pagina .cs e .aspx ...
O Page_Load tem o seguinte código:
protected void Page_Load(object sender, EventArgs e)
{
binds();
}O methodo binds ...
protected void binds()
{
SqlConnection strcon1 = new SqlConnection(mytools.stringconection);
strcon1.Open();
string ADDStr = "select estsigla, estdesc from estados order by 1 asc ";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(ADDCmd);
adapter.Fill(table);
state.DataSource = table;
state.DataValueField = "estsigla";
state.DataTextField = "estdesc";
state.DataBind();
} -
Boa tarde Jeferson
Nunca trabalhei com essa propriedade. Poderia me dar um exemplo por gentileza ?
Daniel, é praticamente igual a que tu está usando, só que se baseia no Value do combo e não no Index dele. É aconselhável quando tu tem três ou mais combos que dependem um do outro, como UF, Cidade e Bairro.
Mas a forma de utilizar em si é a mesma.
Mas de qualquer forma o teu evento teria que funcionar.
Jéferson Tavares
- Editado Jéferson Tavares quarta-feira, 21 de maio de 2014 16:25
-
Oi Junior
Meu dropdownlist ta assim:
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="False"> </asp:DropDownList>
Daniel, este é o nome do seu evento
protected void estados_SelectedIndexChanged(object sender, EventArgs e)
olha acima o nome do evento no aspx
Jéferson Tavares
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 11:51
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:12
-
Daniel pq vc deixou o enableviewstate = false
Esse é o problema já que sem o viewstate ele nao guarda o valor anterior.
Junior
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:01
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:12
-
Junior,
Mudei a propriedade e ficou assim agora:
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="true"> </asp:DropDownList>
Será que preciso usar um updatepanel ou algo parecido ?
Será que tem algo errado no meu html ? Ta muito estranho viu ...
Obrigado pela atenção que tem prestado :)
-
Daniel, o nome do teu evento no asp e na classe cs estão iguais?
Jéferson Tavares
- Marcado como Resposta Daniel Village sexta-feira, 23 de maio de 2014 17:51
-
Daniel já testou para verificar se deu certo ?
Faz o seguinte deixa o dropdownlist do jeito que te mandei no design clica nele e em propriedades dá um duplo clique no evento indexchanged
Assim vai abrir no codebehind o evento e vc faz o tratamento.
Junior
-
-
Oi Junior
Meu dropdownlist ta assim:
<asp:DropDownList ID="state" CssClass="formDropdown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="state_SelectedIndexChanged" EnableTheming="False" EnableViewState="False"> </asp:DropDownList>
Daniel, este é o nome do seu evento
protected void estados_SelectedIndexChanged(object sender, EventArgs e)
olha acima o nome do evento no aspx
Jéferson Tavares
Olá, o Jéfferson está correto. No seu aspx o evento está com um nome e no code behind outro:
ASPX:
state_SelectedIndexChanged
Code behind:
estados_SelectedIndexChanged
A menos que já tenha alterado, o seu problema está aí.
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 11:50
- Marcado como Resposta Ricardo Barbosa Cortes quinta-feira, 22 de maio de 2014 18:12