代码如下:
 <td>      <asp:DropDownList ID="DDL1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DDL1_SelectedIndexChanged"
                Style="z-index: 100; left: 222px; position: static; top: 255px" Width="160px">
                <asp:ListItem Value="0">请选择</asp:ListItem>
                <asp:ListItem Value="1">理工类</asp:ListItem>
                <asp:ListItem Value="2">文史类</asp:ListItem>
          </asp:DropDownList></td>
  <td> 
       <asp:DropDownList ID="DDL2" runat="server" AutoPostBack="True" Style="z-index: 100;
                left: 221px; position: static; top: 312px" Width="160px" OnSelectedIndexChanged="DDL2_SelectedIndexChanged">
                <asp:ListItem Value="0">请选择</asp:ListItem>
                <asp:ListItem Value="123">A学校</asp:ListItem>
                <asp:ListItem Value="124">B学校</asp:ListItem>
                <asp:ListItem Value="125">C学校</asp:ListItem>
          </asp:DropDownList></td>
  <td> 
        <asp:DropDownList ID="DDL3" runat="server" Style="z-index: 100; left: 224px;
                position: static; top: 356px" Width="160px">
          </asp:DropDownList></td>
 protected void  DDL1_SelectedIndexChanged(object sender, EventArgs e)
{
       switch (DDL1.SelectedValue)
        {
            case "0":
                DDL2.Items.Clear();
                DDL2.Items.Add("请选择");
                break;
            case "1":
                DDL2.Items.Clear();
                DDL2.Items.Add("请选择");
                DDL2.Items.Add("A学校");
                DDL2.Items.Add("B学校");
                break;
            case "2":
                DDL2.Items.Clear();
                DDL2.Items.Add("C学校");
                DDL2.Items.Add("D学校");
                break;
        }
    }
    protected void DDL2_SelectedIndexChanged(object sender, EventArgs e)
    {
        switch (DDL2.SelectedValue)
        {
            case "0":
                DDL3.Items.Clear();
                DDL3.Items.Add("请选择");
                break;
            case "123":
                DDL3.Items.Clear();
                DDL3.Items.Add("请选择");
                DDL3.Items.Add("A学校1专业");
                DDL3.Items.Add("A学校2专业");
                break;
           case "124":
                DDL3.Items.Clear();
                DDL3.Items.Add("请选择");
                DDL3.Items.Add("B学校1专业");
                DDL3.Items.Add("B学校2专业");
                break;
            case "125":
                DDL3.Items.Clear();
                DDL3.Items.Add("C学校1专业");
                DDL3.Items.Add("C学校2专业");
                break;
        }
}请指教?

解决方案 »

  1.   

    DDL2的AutoPostBack已经设为true了
      

  2.   

      protected void DDL2_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (DDL2.SelectedItem.ToString())
            {
                case "请选择":
                    DDL3.Items.Clear();
                    DDL3.Items.Add("请选择");
                    break;
                case "A学校":
                    DDL3.Items.Clear();
                    DDL3.Items.Add("请选择");
                    DDL3.Items.Add("A学校1专业");
                    DDL3.Items.Add("A学校2专业");
                    break;
                case "B学校":
                    DDL3.Items.Clear();
                    DDL3.Items.Add("请选择");
                    DDL3.Items.Add("B学校1专业");
                    DDL3.Items.Add("B学校2专业");
                    break;
                case "C学校":
                    DDL3.Items.Clear();
                    DDL3.Items.Add("C学校1专业");
                    DDL3.Items.Add("C学校2专业");
                    break;
            }
        }
    楼主改成这样试试!
      

  3.   

    改成这样可以的,我开始就是那样,但为什么第1个case的是值,第2个就得是text?
      

  4.   

    当选择DDL1的时候 DDL2 中的数据 是后台添加的,
    DDL2.SelectedValue  值就不是下面这些值了。
      switch (DDL2.SelectedValue)
      {
      case "0":
      break;
      case "123":
      break;
      case "124":
      break;
      case "125":
      break;
      }
    后天代码把Value 加上 如下:
             DDL2.Items.Add(new ListItem("请选择", "123"));
             DDL2.Items.Add(new ListItem("A学校", "124"));
             DDL2.Items.Add(new ListItem("B学校", "125"));
      

  5.   

    后台代码把Value 加上 如下:
      DDL2.Items.Add(new ListItem("请选择", "123"));
      DDL2.Items.Add(new ListItem("A学校", "124"));
      DDL2.Items.Add(new ListItem("B学校", "125"));
    --------------------------------------------------
    请问这些加到一部分?
      

  6.   

            protected void DDL1_SelectedIndexChanged(object sender, EventArgs e)
            {
                switch (DDL1.SelectedValue)
                {
                    case "0":
                        DDL2.Items.Clear();
                        DDL2.Items.Add(new ListItem("请选择", "0"));
                        break;
                    case "1":
                        DDL2.Items.Clear();
                        DDL2.Items.Add(new ListItem("请选择", "123"));
                        DDL2.Items.Add(new ListItem("A学校", "124"));
                        DDL2.Items.Add(new ListItem("B学校", "125"));
                        break;
                    case "2":
                        DDL2.Items.Clear();
                        DDL2.Items.Add(new ListItem("C学校", "123"));
                        DDL2.Items.Add(new ListItem("D学校", "123"))
                        break;
                }        }