asp.net - DropDownList Value not empty -
i'm having weird problem, i've copied , pasted code, 1 works fine @ 1 view , doesn't works @ one.
my problem dropdownlist ("destino" or "origem") when got no value property val ("") have text property val ("selecione um tipo"), after first "selectindexchange" event trigger, dropdownlist got val ("selecione um tipo") text , value property.
thats code:
protected void ddltipouadestinosrc_selectedindexchanged(object sender, eventargs e) { list<unidadearmazenamento> uas = new unidadearmazenamentobo().getallunidadesarmazenamentobyunidade(loggeduser.unidadeactiva.idunidade, false); if (!string.isnullorempty(ddltipouadestinosrc.selectedvalue)) { if (ddltipouadestinosrc.selectedvalue.equals("silo")) uas = constroimodeloebusca(tipounidadearmazenamento.silo); else if (ddltipouadestinosrc.selectedvalue.equals("moega")) uas = constroimodeloebusca(tipounidadearmazenamento.moega); ddlsilodestinosrc.datasource = uas; ddlsilodestinosrc.databind(); } else { this.loadsilodestino(uas); } } auxiliar methods:
private void loadsilodestino(list<unidadearmazenamento> unidadesarmazenamento) { ddlsilodestinosrc.datatextfield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.nome); ddlsilodestinosrc.datavaluefield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.idunidadearmazenamento); ddlsilodestinosrc.datasource = unidadesarmazenamento; ddlsilodestinosrc.databind(); ddlsilodestinosrc.items.insert(0, new listitem("selecione o destino", string.empty)); } private listitem[] tiposunidadearmazenamento() { return uihelp.builddropdownlistenum<tipounidadearmazenamento>("selecione um tipo"); } private list<unidadearmazenamento> constroimodeloebusca(tipounidadearmazenamento tipoua) { return new unidadearmazenamentobo().getunidadesarmazenamentobymodel(new unidadearmazenamento { tipounidade = tipoua, unidade = this.loggeduser.unidadeactiva }, false); } and last method call @ initialize page
private void loaddropdownlist() { unidadearmazenamentobo silobo = new unidadearmazenamentobo(); if (ddltipograo.items.count == 0) ddltipograo.items.addrange(uihelp.builddropdownlistenum<grao>("selecione o grão")); if (ddlsafra.items.count == 0) ddlsafra.items.insert(0, new listitem("selecione safra", string.empty)); ddlsafra.databind(); if (ddltipoorigem.items.count == 0) ddltipoorigem.items.addrange(uihelp.builddropdownlistenum<tipoorigemensilagem>("selecione o tipo de origem")); if (ddltipodestino.items.count == 0) ddltipodestino.items.addrange(this.tiposunidadearmazenamento()); if (ddlsituacaoproduto.items.count == 0) ddlsituacaoproduto.items.addrange(uihelp.builddropdownlistenum<estadodograo>("selecione situação")); list<equipamento> secadores = new equipamentosbo().getequipamentosbyunidade(this.loggeduser.unidadeactiva.idunidade).findall(s => s.tipo == tipoequipamento.secador && !s.manutencao); ddlsecador.datasource = secadores; ddlsecadorsrc.datasource = secadores; ddlsecadorsrc.databind(); ddlsecador.databind(); ddlsecador.items.insert(0, new listitem("selecione o secador", "")); ddlsecadorsrc.items.insert(0, new listitem("selecione o secador", "")); ddlsiloorigemsrc.datatextfield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.nome); ddlsiloorigemsrc.datavaluefield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.idunidadearmazenamento); ddlsilodestinosrc.datatextfield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.nome); ddlsilodestinosrc.datavaluefield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.idunidadearmazenamento); list<unidadearmazenamento> unidadesarmazenamento = silobo.getallunidadesarmazenamentobyunidade(this.loggeduser.unidadeactiva.idunidade, false); ddltipouadestinosrc.datasource = this.tiposunidadearmazenamento(); ddltipouadestinosrc.databind(); ddltipouaorigemsrc.datasource = this.tiposunidadearmazenamento(); ddltipouaorigemsrc.databind(); ddlsiloorigemsrc.datasource = unidadesarmazenamento; ddlsiloorigemsrc.databind();//utilizado para consultas ddlsiloorigemsrc.items.insert(0, new listitem("selecione origem", string.empty)); ddlsilodestinosrc.datasource = unidadesarmazenamento.findall(s => s.tipounidade == tipounidadearmazenamento.silo); ddlsilodestinosrc.databind();//utilizado para consultas ddlsilodestinosrc.items.insert(0, new listitem("selecione um silo", string.empty)); ddlsituacaoproduto.databind(); ddltipograo.databind(); ddltipoorigem.databind(); if (!this.recordstatus.equals(string.empty)) { ddlorigem.datatextfield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.nome); ddlorigem.datavaluefield = typeextensions.nomedapropriedade<unidadearmazenamento>(p => p.idunidadearmazenamento); ddlorigem.datasource = silobo.getallunidadesarmazenamentobyunidade(this.loggeduser.unidadeactiva.idunidade, false); ddlorigem.databind(); } } any usefull, because, i'm totally lost!
check if dropdown rebinded , selected value overwritten when post done.bind dropdown in pageload condition
if(!ispostback)
Comments
Post a Comment