【发布时间】:2014-09-26 07:50:50
【问题描述】:
我有一个方法可以根据您之前的选择用值填充下拉列表:
private void CarregarCombos(DropDownList dropDown)
{
dropDown.Items.Clear();
dynamic resultados = null;
switch (dropDown.ID)
{
case "ddlOrgaoProdutor":
dropDown.Items.Add(new ListItem("0000 - Todos os Órgãos", ""));
OrgaoProdutor bllOPR = new OrgaoProdutor();
resultados = new List<OrgaoProdutorInfo>();
resultados = bllOPR.ListarOrgaoProdutorPorStatus("1,2").OrderBy(n => n.Numero).ToList();
break;
case "ddlFuncao":
dropDown.Items.Add(new ListItem("Selecione", ""));
Funcao bllFuncao = new Funcao();
resultados = new List<FuncaoInfo>();
resultados = bllFuncao.ListarPorOrgaoProdutor(DataParser.ToInt(ddlOrgaoProdutor.SelectedValue), 1).OrderBy(n => n.Numero).ToList();
break;
case "ddlSubFuncao":
dropDown.Items.Add(new ListItem("Selecione", ""));
SubFuncao bllSubFuncao = new SubFuncao();
resultados = new List<SubFuncaoInfo>();
resultados = bllSubFuncao.ListarSubFuncao(DataParser.ToInt(ddlOrgaoProdutor.SelectedValue), DataParser.ToInt(ddlFuncao.SelectedValue), 1).OrderBy(n => n.Numero).ToList();
break;
case "ddlAtividade":
dropDown.Items.Add(new ListItem("Selecione", ""));
Atividade bllAtividade = new Atividade();
resultados = new List<AtividadeInfo>();
resultados = bllAtividade.ListarAtividades(DataParser.ToInt(ddlOrgaoProdutor.SelectedValue), DataParser.ToInt(ddlFuncao.SelectedValue), DataParser.ToInt(ddlSubFuncao.SelectedValue), 1).OrderBy(n => n.Numero).ToList();
break;
}
foreach (var item in resultados)
dropDown.Items.Add(new ListItem(string.Format("{0} - {1}", item.Numero.ToString(), item.Descricao), item.Codigo.ToString()));
}
我的页面加载:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CarregarCombos(ddlOrgaoProdutor);
CarregarCombos(ddlFuncao);
}
}
只是在前端填充了第一个下拉菜单,但在代码隐藏中一切正常,因为在应用程序的其他步骤中该方法正常工作。会不会是渲染问题? 一个细节:当我链接可见时,只有第一个被启用。
谢谢
【问题讨论】: