问题:第三个ListBox无法联动.
代码:
private DataAccess da;
    private DataTable dt;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            lbx1Bind();
        }        
    }
    protected void lbx1_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbx2Bind();
    }
    protected void lbx2_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbx3Bind();
    }
    private void lbx1Bind()
    {
        da = new DataAccess();
        dt = new DataTable();
        dt = da.GetDt("select * from Class where S_ID=0");
        lbx1.DataTextField = "Name";
        lbx1.DataValueField = "C_ID";
        lbx1.DataSource = dt;
        lbx1.DataBind();
    }
    private void lbx2Bind()
    {
        da = new DataAccess();
        dt = new DataTable();
        dt = da.GetDt("select * from Class where S_ID='" + lbx1.SelectedValue + "'");
        lbx2.DataTextField = "Name";
        lbx2.DataValueField = "C_ID";
        lbx2.DataSource = dt;
        lbx2.DataBind();
    }
    private void lbx3Bind()
    {
        da = new DataAccess();
        dt = new DataTable();
        dt = da.GetDt("select * from Class where S_ID='" + lbx2.SelectedValue + "'");
        lbx3.DataTextField = "Name";
        lbx3.DataValueField = "C_ID";
        lbx3.DataSource = dt;
        lbx3.DataBind();
    }

解决方案 »

  1.   

    <table width="100%" height="198" border="0" cellpadding="0" cellspacing="1" bgcolor="#E8E8E8">
      <tr>
        <td width="11%" bgcolor="#FFFFFF"><div align="right">信息分类:</div></td>
        <td width="20%" bgcolor="#FFFFFF" style="width: 8%">&nbsp;<asp:ListBox ID="lbx1" runat="server" AutoPostBack="True" Height="130px" OnSelectedIndexChanged="lbx1_SelectedIndexChanged">        </asp:ListBox></td>
        <td width="8%" bgcolor="#FFFFFF" style="width: 9%">&nbsp;<asp:ListBox ID="lbx2" runat="server" AutoPostBack="True" Height="130px" OnSelectedIndexChanged="lbx2_SelectedIndexChanged">        </asp:ListBox></td>
          <td bgcolor="#ffffff" width="61%">
            <asp:ListBox ID="lbx3" runat="server" Height="130px"></asp:ListBox></td>
      </tr>
    </table>
      

  2.   

    protected void lbx1_SelectedIndexChanged(object sender, EventArgs e)
        {
            lbx2Bind();
            lbx3Bind();
        }
      

  3.   

    这时候,再点第一个时,第二个联运正常,第三个没反应
    =======================================
    点第一个时,后面两个都一起变?那肯定是在第一个ListBox的SelectedIndexChanged时就绑定后面两个ListBox
      

  4.   

    这么做,估计是不是有可能autopostback没设为true
      

  5.   

    都绑定...是不是第二次没发生SelectedIndexChanged啊