当我选择某学院的时候出来这个学院的全体学生,然后我选择这个学院专业的时候再出来这个专业的学生,要用到Repeater绑定数据,都折腾一天实在做不出来啊
求大神帮助啊DropDownList

解决方案 »

  1.   

    实际上就是把前台dropdownlist控件选中的值,传到后台方法,调用数据库查询出数据。
    refer: repeater基本操作
    http://blog.csdn.net/chinacsharper/article/details/9095387
      

  2.   

    首先设置  dropdownlist 属性AutoPostBack="True" 
    添加onselectedindexchanged="drpSelect_SelectedIndexChanged"事件
      protected void drpSelect_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.drpSelect.SelectedValue != "请选择")
            { this.BindSearch(this.drpSelect.SelectedValue); }
           
      public void BindSearch(string value)
        {
            string sqlSelect = "select * from TouSuJianYi where tsjysort='"+drpSelect.SelectedValue+"' order by  tsjyaddtime desc ";
    //进行查询出来,然后绑定Repeater 就OK了
        }
      

  3.   

    选中项改变的时候把这个选中项的 标识传到后台,拼接sql绑定repeater
      

  4.   


      //学院dropdownlist1
      protected void dropdownlist1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //绑定某学院的学生
          }  
        //专业dropdownlist2
      protected void dropdownlist2_SelectedIndexChanged(object sender, EventArgs e)
        {
            //绑定某专业的学生
          }  
      

  5.   

    你在DropdownList的textchange事件里面写就好了,获取当前选中的值,然后在后台执行数据查询再绑定到Repeater上面就不可以了么?
      

  6.   

    你在DropdownList的textchange事件里面写,当选择学院时,专业为空,条件是学院;当选择专业时,条件是学院和专业。
    这样根据条件查找数据库不就行了吗
      

  7.   

    一般都是用2楼的方法 跟普通的下拉框绑定一样
    只不过repeater里的下拉事件要手写
      

  8.   

    多条件拼接sql,再查询就是了
    var strSql = "Select * from student";
    var sbWhere = new StringBuilder();
    if(ddl1.SelectedIndex > -1)  //如果第一项是“请选择”就将-1改成0
    {
         sbWhere.AppendFormat(" AND [学院]={0}", int.Parse(ddl1.SelectedValue));
    }
    if(ddl2.SelectedIndex > -1)
    {
         sbWhere.AppendFormat(" AND [专业]={0}", int.Parse(ddl2.SelectedValue));
    }
    //其他并列条件类似
    if(sbWhere.Length != 0)
    {
        strSql += "Where" + sbWhere.ToString().Substring(4);
    }
    //执行strSql查询显示数据