Asp.net DropDownList值不为空
我遇到了一个奇怪的问题,我复制并粘贴了一些代码,但这一个在一个视图中工作正常,在另一个视图中不工作 我的问题是dropDownList(“Destino”或“Origem”)在没有值属性val(“”)时具有文本属性val(“Selecione um tipo”),但在第一个“SelectIndexChange”事件触发器之后,该dropDownList获得了文本和值属性的val(“Selecione um tipo”) 这是我的密码:Asp.net DropDownList值不为空,asp.net,.net,drop-down-menu,webforms,html-select,Asp.net,.net,Drop Down Menu,Webforms,Html Select,我遇到了一个奇怪的问题,我复制并粘贴了一些代码,但这一个在一个视图中工作正常,在另一个视图中不工作 我的问题是dropDownList(“Destino”或“Origem”)在没有值属性val(“”)时具有文本属性val(“Selecione um tipo”),但在第一个“SelectIndexChange”事件触发器之后,该dropDownList获得了文本和值属性的val(“Selecione um tipo”) 这是我的密码: protected void ddlTipoUADe
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);
}
}
protectedvoid ddlTipoUADestinoSrc\u SelectedIndexChanged(对象发送方,事件参数e)
{
List uas=new unidadearmazemantobo().getAllunidadesarmazemantobyunidade(LoggedUser.UnidadeActiva.IDUNIDADE,false);
如果(!string.IsNullOrEmpty(ddlTipoUADestinoSrc.SelectedValue))
{
if(ddlTipoUADestinoSrc.SelectedValue.Equals(“思洛存储器”))
uas=施工模型(Tipoundidadearmazemanto.Silo);
else if(ddlTipoUADestinoSrc.SelectedValue.Equals(“Moega”))
uas=施工模型(Tipoundidairemazemanto.Moega);
ddlsilodestnosrc.DataSource=uas;
ddlsolidestinosrc.DataBind();
}
其他的
{
这是一个无人机系统(uas);
}
}
辅助方法:
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);
}
private void loads silodestino(列出unidadesarmazenamto)
{
ddlSiloDestinoSrc.DataTextField=TypeExtensions.NomedaPropriedade(p=>p.NOME);
ddlSiloDestinoSrc.DataValueField=TypeExtensions.NomedaPropriedade(p=>p.idunidadearmazemanto);
ddlSiloDestinoSrc.DataSource=unidadesarmazenanto;
ddlsolidestinosrc.DataBind();
ddlSiloDestinoSrc.Items.Insert(0,新列表项(“Selecione o destino”,string.Empty));
}
私有列表项[]tiposunidadearmazemanto()
{
返回UIHelp.BuildDropDownListEnum(“Selecione um tipo”);
}
私人清单施工模型(TIPOUNIDEADEMAZENANTO tipoUA)
{
返回新的UnidadeArmazenamentoBO().GetUnidadesArmazenamentoByModel(newunidadearmazemanto{tipoundidade=tipoUA,Unidade=this.LoggedUser.UnidadeActiva},false);
}
最后一个方法是在初始化页面调用
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 a 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 a 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 a 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();
}
}
private void LoadDropDownList()
{
UNIDADEARMAZENANTOBO siloBo=新的UNIDADEARMAZENANTOBO();
if(ddlTipoGrao.Items.Count==0)
ddlTipoGrao.Items.AddRange(UIHelp.BuildDropDownListEnum(“Selecione o Grão”);
if(ddlSafra.Items.Count==0)
插入(0,新的ListItem(“Selecione a safra”,string.Empty));
ddlSafra.DataBind();
如果(ddlTipoOrigem.Items.Count==0)
ddlTipoOrigem.Items.AddRange(UIHelp.BuildDropDownListEnum(“Selecione o tipo de Origem”);
if(ddlTipoDestino.Items.Count==0)
ddlTipoDestino.Items.AddRange(this.tiposunidaderamazemanto());
if(ddlSituacaoProduto.Items.Count==0)
ddlistuacaoproduto.Items.AddRange(UIHelp.BuildDropDownListEnum(“SelecioneAsituaço”);
列出secadores=new equipmentosbo().getequipmentosbyunidade(this.LoggedUser.UnidadeActiva.IDUNIDADE).FindAll(s=>s.TIPO==TipoEquipamento.Secador&!s.MANUTENCAO);
ddlSecador.DataSource=secadors;
ddlSecadorSrc.DataSource=secadors;
ddlSecadorSrc.DataBind();
ddlSecador.DataBind();
ddlSecador.Items.Insert(0,新列表项(“Selecione o secador”);
ddlSecadorSrc.Items.Insert(0,新列表项(“Selecione o secador”);
ddlsiloorigemrc.DataTextField=TypeExtensions.NomedaPropriedade(p=>p.NOME);
ddlsiloorigemrc.DataValueField=TypeExtensions.NomedaPropriedade(p=>p.idunidadearmazemanto);
ddlSiloDestinoSrc.DataTextField=TypeExtensions.NomedaPropriedade(p=>p.NOME);
ddlSiloDestinoSrc.DataValueField=TypeExtensions.NomedaPropriedade(p=>p.idunidadearmazemanto);
列出unidadesarmazenameto=siloBo.GetAllUnidadesArmazenamentoByUnidade(this.LoggedUser.UnidadeActiva.IDUNIDADE,false);
ddltipouaderstinosrc.DataSource=this.tiposunidadearmazemanto();
ddlTipoUADestinoSrc.DataBind();
ddlTipoUAOrigemSrc.DataSource=this.tiposunidadearmazemanto();
ddlTipoUAOrigemSrc.DataBind();
ddlSiloOrigemSrc.DataSource=unidadesarmazenanto;
ddlsiloorigemrc.DataBind();//实用程序
ddlsiloorigemrc.Items.Insert(0,新的ListItem(“Selecione a origem”,String.Empty));
ddlSiloDestinoSrc.DataSource=unidadesarmazenameto.FindAll(s=>s.tipoundidade==tipoundidadearmazemanto.Silo);
ddlSiloDestinoSrc.DataBind();//utilizado para consultas
ddlSiloDestinoSrc.Items.Insert(0,新列表项(“Selecione um silo”,String.Empty));
ddlistuacaoproduto.DataBind();
ddlTipoGrao.DataBind();
ddlTipoOrigem.DataBind();
如果(!this.RecordStatus.Equals(string.Empty))
{
ddlOrigem.DataTextField=TypeExtensions.NomedaPropriedade(p=>p.NOME);
ddlOrigem.DataValueField=TypeExtensions.NomedaPropriedade(p=>p.idunidadearmazemanto);
ddlOrigem.DataSource=siloBo.getallunidadesarmazemantonobyunidade(this.LoggedUser.UnidadeActiva.IDUNIDADE,false);
ddlOrigem.DataBind();
}
}
任何帮助都是有用的,因为,我完全迷路了 回发完成后,检查下拉列表是否已重新索引,所选值是否被覆盖。将下拉列表绑定到pageload with condition中
If(!IsPostBack)