Asp.net dropdownlist不加载链

Asp.net dropdownlist不加载链,asp.net,webforms,Asp.net,Webforms,我有一种方法,可以根据您以前的选择使用值填充dropdownlist: private void CarregarCombos(DropDownList dropDown) { dropDown.Items.Clear(); dynamic resultados = null; switch (dropDown.ID) { case "ddlOrgaoProdutor": dropDown.Items.Add(new L

我有一种方法,可以根据您以前的选择使用值填充dropdownlist:

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()));

}
前端只填写了第一个下拉列表,但在代码后面,所有的工作都很完美,因为在应用程序的其他步骤中,该方法工作正常。会有渲染问题吗? 详细信息:当我围绕可见对象进行链接时,仅启用第一个


感谢您在下面的代码中添加了一个新的
列表项
,其中
Text=0000-Todos osÓrgãos
值为“”
,用于
ddlOrgaoProdutor(父下拉菜单)

对于所有其他下拉列表的数据,您将根据
ddlOrgaoProdutor1的SelectedValue
筛选数据,该值定义为
“”
。您可能需要发送为或设置
ddlOrgaoProdutor

resultados = bllFuncao.ListarPorOrgaoProdutor(DataParser.ToInt(ddlOrgaoProdutor.SelectedText), 1).OrderBy(n => n.Numero).ToList();
另外,在初始页面加载期间(
if(!IsPostBack)
将填充DropDownList,当ddlOrgaoProdutor的值更改时不会触发该操作。如果在
ddlOrgaoProdutor
的值更改时需要重新绑定所有drown,则需要在SelectedIndexChanged=“ddlOrgaoProdutor\u SelectedIndexChanged”AutoPostBack=“true”
上设置
,并从事件调用函数
为所有其他下拉列表设置CarregarCombos

 protected void ddlOrgaoProdutor_SelectedIndexChanged(object sender, EventArgs e)
 {
     DropDownList ddlFuncao= (DropDownList)Page.FindControl("ddlFuncao");
     CarregarCombos(ddlFuncao);

     // find other dropdownlists and call the function CarregarCombos
 }

谢谢但问题是属性Enable=false的面板。
resultados = bllFuncao.ListarPorOrgaoProdutor(DataParser.ToInt(ddlOrgaoProdutor.SelectedText), 1).OrderBy(n => n.Numero).ToList();
 protected void ddlOrgaoProdutor_SelectedIndexChanged(object sender, EventArgs e)
 {
     DropDownList ddlFuncao= (DropDownList)Page.FindControl("ddlFuncao");
     CarregarCombos(ddlFuncao);

     // find other dropdownlists and call the function CarregarCombos
 }