代码:
private void DisplayBranchInfo()
    {
        IList<tb_Profession> list = tb_ProfessionManager.GetAll();//获取查询出来的泛型集合        
        ddlProfession.Items.Clear();//清空下拉菜单
        ddlProfession.Items.Add(new ListItem("==请选择==", "0"));//设置第一行        
        foreach (tb_Profession branchInfo in list)
        {
            ListItem li = new ListItem();
            li.Text = branchInfo.Name;
            li.Value = branchInfo.Id.ToString();
            ddlProfession.Items.Add(li);//添加到下拉列表中(下拉列表需要的是ListItem)        
        }
    }
    private void DisplayDepartByBranchId(int id) //此处为第一个ddl选择的id    
    {
        IList<tb_Lesson> list = tb_LessonManager.GetProfessionById(id);
        ddlLesson.Items.Clear();
        ddlLesson.Items.Add(new ListItem("==请选择==", "0"));
        foreach (tb_Lesson departInfo in list)
        {
            ListItem li = new ListItem();
            li.Text = departInfo.Name;
            li.Value = departInfo.OfProfession.ToString();
            ddlLesson.Items.Add(li);
        }
    }
    private void DisplayThere(int Lessionid)
    {
        IList<tb_TaoTi> list = tb_TaoTiManager.GetLessonById(Lessionid);
        ddlQueName.Items.Clear();
        ddlQueName.Items.Add(new ListItem("==请选择==", "0"));
        foreach (tb_TaoTi departInfo in list)
        {
            ListItem li = new ListItem();
            li.Text = departInfo.Name;
            li.Value = departInfo.LessonID.ToString();
            ddlQueName.Items.Add(li);
        }
    }-----------------------------------------------------------------------------
DROPDOWNLIST 第一个,第二个的SelectedIndexChanged事件
protected void ddlProfession_SelectedIndexChanged(object sender, EventArgs e)
    {
         DisplayDepartByBranchId(Convert.ToInt32(ddlProfession.SelectedValue));//给第一个ddl加入事件
    }
    protected void ddlLesson_SelectedIndexChanged(object sender, EventArgs e)
    {
        //DisplayDepartByBranchId(Convert.ToInt32(ddlLesson.SelectedValue));//给第二个ddl加入事件
    }
---------------------------------------------------------------------------------------------------
页面加载
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DisplayBranchInfo();
        }
    }
AUTOPOSTBACK 我设置1,2为TRUE问题:
我把第二个下拉框SelectedIndexChanged的事件注释了,2级级联的效果能出来?但是不注释,效果就出不来了。这个是为什么呢?

解决方案 »

  1.   

    第二ddl里面不是应该展现第三个ddl吗
    你写的还是第二个
      

  2.   

    第二个下拉框SelectedIndexChanged的事件怎么和第一个的事件调用同一个方法? 这什么逻辑?
      

  3.   

    不好意思,这个改下:
     protected void ddlLesson_SelectedIndexChanged(object sender, EventArgs e)
      {
      DisplayThere(Convert.ToInt32(ddlLesson.SelectedValue));//给第二个ddl加入事件
      }
    现在的问题是能进第一个事件,但是要多点几次、
    Lesson这个事件还是进不去,
      

  4.   

    AutopostBack  我三个下拉框都设置为TRUE
      

  5.   

    简单的说就是SelectedIndexChanged的第二个事件进不去,第三个下拉框没有值
      

  6.   

    AutopostBack =true
    protected void ddlLesson_SelectedIndexChanged(object sender, EventArgs e)
    {
      DisplayThere(Convert.ToInt32(ddlLesson.SelectedValue));
    }
    updatepanel无刷新