if (!IsPostBack)
{
  cbl_list.DataSource= ....;
  cbl_list.DataBind();
}

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    int Year = DateTime.Now.Year;
    int Month = DateTime.Now.Month; if (Session["ID"] == null)
    Response.Redirect("..\\Exception\\errLogin.aspx",true);
    else
    {
    lbl_Name.Text = Session["ID"].ToString();
    string StuID = Session["ID"].ToString(); objConnection = new SqlConnection(strConnection);
    //
    string strStoredProc = "ShowChoseCur " + StuID + "," + Year.ToString() + "," + Month.ToString();
    //查询本学期可选的课程
    objConnection = new SqlConnection(strConnection);
    SqlDataReader objDataReader = null;
                

    //----------返回所有本学期的选修课名称
    objCommand = new SqlCommand(strStoredProc,objConnection);
    objConnection.Open();
    objDataReader = objCommand.ExecuteReader(); if (objDataReader.Read())
    {
    objDataReader.Close();
    objDataReader = objCommand.ExecuteReader();
    cbl_MajorElctiv.DataSource=objDataReader;
    cbl_MajorElctiv.DataTextField="CurriculaName";
    cbl_MajorElctiv.DataValueField="CurriculaName";
    cbl_MajorElctiv.DataBind();
    }
    //这里的CrrclaName是库中的课程名字段的名字 objDataReader.Close();
    objConnection.Close();
    } }
    Pageload贴出来了,请高手帮忙看看吧,哪里有问题,是不是一定要加if (!IsPostBack)
      

  2.   

    改为:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    int Year = DateTime.Now.Year;
    int Month = DateTime.Now.Month; if (Session["ID"] == null)
    Response.Redirect("..\\Exception\\errLogin.aspx",true);
    else
    {
    lbl_Name.Text = Session["ID"].ToString();
    string StuID = Session["ID"].ToString();                                 if( !IsPostBack )
    BindData();
    } } private void BindData()
    {
    objConnection = new SqlConnection(strConnection);
    //
    string strStoredProc = "ShowChoseCur " + StuID + "," + Year.ToString() + "," + Month.ToString();
    //查询本学期可选的课程
    objConnection = new SqlConnection(strConnection);
    SqlDataReader objDataReader = null;
                

    //----------返回所有本学期的选修课名称
    objCommand = new SqlCommand(strStoredProc,objConnection);
    objConnection.Open();
    objDataReader = objCommand.ExecuteReader(); if (objDataReader.Read())
    {
    objDataReader.Close();
    objDataReader = objCommand.ExecuteReader();
    cbl_MajorElctiv.DataSource=objDataReader;
    cbl_MajorElctiv.DataTextField="CurriculaName";
    cbl_MajorElctiv.DataValueField="CurriculaName";
    cbl_MajorElctiv.DataBind();
    }
    //这里的CrrclaName是库中的课程名字段的名字 objDataReader.Close();
    objConnection.Close();
    }
      

  3.   

    加上:
    if(!Is postback) then
    end if
      

  4.   

    按钮事件代码改为:
    private void btn_Submit_Click(object sender, System.EventArgs e)
    {
    int i = 0;
    int Count = cbl_list.Items.Count;
    for (i = 0;i<Count;i++)
    Response.Write(cbl_list.Items[i].Selected.ToString());
             BindData();
    }
      

  5.   

    我知道了,就是加上
    if (!IsPostBack)
    {
      cbl_list.DataSource= ....;
      cbl_list.DataBind();
    }
    就好了!多谢