C# 为什么此代码不在浏览器中显示表格?

C# 为什么此代码不在浏览器中显示表格?,c#,asp.net,datatable,sqldatareader,C#,Asp.net,Datatable,Sqldatareader,在下面的asp c代码中,我试图使用SqlDataReader显示数据库表的内容,但它不起作用。此代码仅处理按钮单击事件。我怎样才能让它工作 protected void Button2_Click(object sender, EventArgs e) { GridView1.DataSource = null; GridView1.DataBind(); string CS = ConfigurationManager.Connecti

在下面的asp c代码中,我试图使用SqlDataReader显示数据库表的内容,但它不起作用。此代码仅处理按钮单击事件。我怎样才能让它工作

protected void Button2_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = null;
        GridView1.DataBind();
        string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
        using (con)
        {
            con.ConnectionString = CS;
            DataTable dTbl = new DataTable();
            dTbl.Columns.Add("ID");
            dTbl.Columns.Add("Name");
            dTbl.Columns.Add("Salary");
            SqlCommand vmd = new SqlCommand();
            vmd.Connection = con;
            vmd.CommandText = "select * from [dbo].[employee]";
            con.Open();
            SqlDataReader dr = vmd.ExecuteReader();
            while (dr.Read())
            {
                DataRow dRow = dTbl.NewRow();
                dRow["ID"] = dr[0];
                dRow["Name"] = dr[1];
                dRow["Salary"] = dr[2];
                dTbl.Rows.Add(dRow);
            }
        }
    }

之后,而
代码块添加

GridView1.DataSource = dTbl;
GridView1.DataBind();

并删除
GridView1.DataBind()从代码开始。

之后,而
代码块添加

GridView1.DataSource = dTbl;
GridView1.DataBind();

并删除
GridView1.DataBind()从代码开始。

之后,而
代码块添加

GridView1.DataSource = dTbl;
GridView1.DataBind();

并删除
GridView1.DataBind()从代码开始。

之后,而
代码块添加

GridView1.DataSource = dTbl;
GridView1.DataBind();

并删除
GridView1.DataBind()从代码的开头开始。

您不需要这一行。从代码开头删除它:

GridView1.DataBind();//Remove
然后将这两行放在
之后,而
循环:

GridView1.DataSource = dTbl;
GridView1.DataBind();
编辑:您也可以这样做:

string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
      try
      {
           con.Open();
           SqlCommand command = new SqlCommand("select * from [dbo].[employee]", con);
           SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
           GridView1.DataSource = reader;
           GridView1.DataBind();
       }
       catch
       {
         //Handle error
       }
}

你不需要这条线。从代码开头删除它:

GridView1.DataBind();//Remove
然后将这两行放在
之后,而
循环:

GridView1.DataSource = dTbl;
GridView1.DataBind();
编辑:您也可以这样做:

string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
      try
      {
           con.Open();
           SqlCommand command = new SqlCommand("select * from [dbo].[employee]", con);
           SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
           GridView1.DataSource = reader;
           GridView1.DataBind();
       }
       catch
       {
         //Handle error
       }
}

你不需要这条线。从代码开头删除它:

GridView1.DataBind();//Remove
然后将这两行放在
之后,而
循环:

GridView1.DataSource = dTbl;
GridView1.DataBind();
编辑:您也可以这样做:

string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
      try
      {
           con.Open();
           SqlCommand command = new SqlCommand("select * from [dbo].[employee]", con);
           SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
           GridView1.DataSource = reader;
           GridView1.DataBind();
       }
       catch
       {
         //Handle error
       }
}

你不需要这条线。从代码开头删除它:

GridView1.DataBind();//Remove
然后将这两行放在
之后,而
循环:

GridView1.DataSource = dTbl;
GridView1.DataBind();
编辑:您也可以这样做:

string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
      try
      {
           con.Open();
           SqlCommand command = new SqlCommand("select * from [dbo].[employee]", con);
           SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
           GridView1.DataSource = reader;
           GridView1.DataBind();
       }
       catch
       {
         //Handle error
       }
}