大家好,能在同一个页面内同时写两个GridView控件吗?
为什么我在同一个页面绑定了两个空间,两个GridView或者一个GridView+DataList就报错了.
只能一次绑定一个控件,郁闷.麻烦大家帮我看看.谢谢!
错误:ExecuteReader requires an open and available Connection. The connection's current state is closed.这是Page_load代码:
 public partial class Default1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                RepNavi.DataSource = new CategoryManager().selectALL();//最新分类列表
                RepNavi.DataBind();
                ProgramManager progmgr = new ProgramManager();
                //首页右侧最新列表|GridView控件
                gvNewList.DataSource = progmgr.SelectLatestPrograms();//最新节目列表
                gvNewList.DataBind();
               //根据类别显示节目|DataList控件
                //dl_Program.DataSource = progmgr.SelectLatestProgByCategoryId("50");
                //dl_Program.DataBind();
                //
                //RepBlock.DataSource=progmgr.SelectLatestPrograms();
                //RepBlock.DataBind();
                //首页右侧最新更新
                gvLatestProgs.DataSource = progmgr.SelectLatestProgByCategoryId("50");
                gvLatestProgs.DataBind();
            }
        }

解决方案 »

  1.   

    你的ExecuteReader 没有再次打开
      

  2.   

    The connection's current state is closed数据库连接没有打开。
      

  3.   

    The connection's current state is closed.错了 connection
      

  4.   

    我用的是using,为什么不能及时关闭连接呢?
    如下式代码:麻烦请看. public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)
            {
                DataTable dt = new DataTable();
                cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = ct;
                cmd.Parameters.AddRange(paras);
                using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    dt.Load(sdr);
                }
                sdr.Close();
                return dt;
            }        
      

  5.   

    及时关闭了是关闭了。
    你第一个gridview有数据,它读完数据关了,可是第二个读的时候打开了吗 using是及时关闭释放资源
      

  6.   

    那就是说,不应该关闭连接?删掉sdrClose()这个方法?
      

  7.   

    当然可以了,你在写第二个gridview的时候,就当没有第一个,重头来,试试就能熟练了熟练了之后在代码重用。。
      

  8.   

    Got it.
    非常感谢大家!
    请问,有没有别的办法解决?谢谢!