protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           
            DDL();
            Bang();
        }
    }    private void Bang()
    {
        GridView1.DataSource = mySm.GetTableBySql("select * from News_Board order by ID desc", 0, 0, "b");
        GridView1.DataBind();
    }    private void DDL()
    {
        DropDownList1.DataSource = mySm.GetTableBySql("select * from News_Subject order by ID desc", 0, 0, "d");
        DropDownList1.DataValueField = "Sid";
        DropDownList1.DataTextField = "Subject";
        DropDownList1.DataBind();
    }
------------------------------------------
只绑定一个Bang()或者只绑定DDL()都有显示,但同时绑定两个,就只显示到上面个DLL()那是为何各位帮忙?急

解决方案 »

  1.   

    可能你在mySm.GetTableBySql方法后把数据库给关了.
      

  2.   

    mySm.GetTableBySql("select * from News_Board order by ID desc", 0, 0, "b");
    返回的是什么类型
      

  3.   

    改为试试 
    private void Bang()
        {
          DataTable dtl1 = mySm.GetTableBySql("select * from News_Board order by ID   desc", 0, 0, "b").Tables[0];
          GridView1.DataSource = dtl1;
        }    private void DDL()
        {
            DataTable dtl2 = mySm.GetTableBySql("select * from News_Subject order by ID desc", 0, 0, "d").Tables[0];
            DropDownList1.DataSource =  dtl2;       
            DropDownList1.DataValueField = "Sid";
            DropDownList1.DataTextField = "Subject";
            DropDownList1.DataBind();
        }
      

  4.   

    如果数据库连接关闭了,那第二个绑定应该会出错.楼主把DataSet改为用DataTable做数据源,然后
    最后加一句this.DataBind();在DDL();Bang();后面呢
      

  5.   

    错了,Bang方法少了个
    GridView1.DataBind();
      

  6.   

    樓主的數據操作類,建議返回不同的DataSet Or DataTable。GetTableBySql方法的第三個參數是表名嗎?如果是,可以這樣寫:private void Bang()
        {
          DataSet ds = mySm.GetTableBySql("select * from News_Board order by ID   desc", 0, 0, "b");
          GridView1.DataSource = ds.Tables["b"];
        }    private void DDL()
        {
            DataSet ds= mySm.GetTableBySql("select * from News_Subject order by ID desc", 0, 0, "d");
            DropDownList1.DataSource =  ds.Tables["d"];
            DropDownList1.DataValueField = "Sid";
            DropDownList1.DataTextField = "Subject";
            DropDownList1.DataBind();
        }
      

  7.   

    public DataTable GetTableBySql(string sql, int startindex, int num, string dsname)
            {
                Open();
                myDs.Clear();
                try
                {
                    myCmd.CommandText = sql;
                    myCmd.CommandType = CommandType.Text;
                    myDa.SelectCommand = myCmd;
                    myDa.Fill(myDs, startindex, num, dsname);
                }
                finally
                {
                    Close();
                }
                return myDs.Tables[0];
            }
      

  8.   

    myDs.Clear();這個語句把所有的DataTable都清空了,所以看不到。myDs.Clear();
    換成:
    myDs = New DataSet();其它的都不用修改了,包括Page_Load函數的代碼,用最原始的。