protected void btnSearch_Click(object sender, EventArgs e)
        {
            if (this.ProList.SelectedIndex<0)
                this.label.Text = "请选择部门!";
            else
                DoSearch();
        }
我是这么写的,但是有错误,说序列不包含任何元素 
下拉列表 :    ------请选择--------
                     部门1
                     部门2
                     部门3

解决方案 »

  1.   


     protected void btnSearch_Click(object sender, EventArgs e)
            {
                if (this.ProList.SelectedIndex<0)
                    this.label.Text = "请选择部门!";
                else
                    DoSearch();
            }
    我是这么写的,但是有错误,说序列不包含任何元素 
    下拉列表 :    ------请选择--------
                         部门1
                         部门2
                         部门3
      

  2.   


    protected void btnSearch_Click(object sender, EventArgs e)
            {
                if (this.ProList.SelectedIndex<0)
                    this.label.Text = "请选择部门!";
                else
                    DoSearch();
            }
    我是这么写的,但是有错误,说序列不包含任何元素 
    下拉列表 :    ------请选择--------
                         部门1
                         部门2
                         部门3
      

  3.   

    在page_load里
    if(!postback)

    重新绑定数据源
    你现在的问题是,一刷新,dropdownlist就被清空了
      

  4.   

    回调的时候先走一边pageload,你确定你的dropdownlist绑定数据源是在!ispostback里边绑的?
      

  5.   


     #region 初始化页面
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    InitDropDownList();
                    if (Request.QueryString.Count == 1)
                    {
                        string Year = Request.QueryString["Year"];
                        this.ddlYear.SelectedValue = Year;
                        DoSearch();
                    }
                }
            }
            #endregion private void InitDropDownList()
            {
                var yearMax = (from my in eipc.ManHours
                               select my.DateTime.Value.Year).Max();
                var yearMin = (from my in eipc.ManHours
                               select my.DateTime.Value.Year).Min();
                this.ddlYear.Items.Clear();
                for (int i = yearMin; i <= yearMax; i++)
                {
                    ListItem lItem = new ListItem();
                    lItem.Text = i.ToString();
                    lItem.Value = i.ToString();
                    this.ddlYear.Items.Add(lItem);
                }
                this.ddlYear.SelectedValue = yearMax.ToString();            var query = from a in eipc.Departments
                            where a.DeptNo != "T0001" 
                            orderby a.StruDeptNo
                            select new
                            {
                                a.DeptNo,
                                a.CnName
                            };            ProList.DataSource = query;
                ProList.DataTextField = "CnName";
                ProList.DataValueField = "DeptNo";
                ProList.DataBind();
                this.ProList.Items.Insert(0, new ListItem("请选择部门", "0"));        }
      

  6.   

    把 SelectedIndex<0 改成 SelectedIndex==0就可以了