C# dt.Rows.Count如何从文本框中搜索并在gridview中显示

C# dt.Rows.Count如何从文本框中搜索并在gridview中显示,c#,.net,gridview,C#,.net,Gridview,我希望用户在文本框中键入,并在gridview上显示结果 我的代码是 protected void Button1_Click(object sender, EventArgs e) { String Artists = System.Configuration.ConfigurationManager.ConnectionStrings["FleetManagementConnectionString"].ConnectionString;

我希望用户在文本框中键入,并在gridview上显示结果

我的代码是

protected void Button1_Click(object sender, EventArgs e)
        {
            String Artists = System.Configuration.ConfigurationManager.ConnectionStrings["FleetManagementConnectionString"].ConnectionString;
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(Artists);

            DataSet dt = new DataSet();
            String Query = "Select AlbumName from [KazuTest].[dbo].[View_OneAlbums]  where AlbumName LIKE '%' '" + TextBox1.Text + "' '%'";
            SqlDataAdapter da;

            SqlCommand cmd = new SqlCommand(Query,con);
            con.Open();
            da = new SqlDataAdapter(cmd);

            dt.Clear();
            da.Fill(dt);

           if (dt.Rows.Count > 0)
        {
            gvSubDetails.DataSource = dt;
            gvSubDetails.DataBind();
        }
        else
        {
            gvSubDetails.DataBind();
            Label1.Text = "No Records Found";
        }
        con.Close();
    }
但错误是

(dt..Count>0)导致错误

错误16“System.Data.DataSet”不包含的定义 “Rows”和不接受第一个参数的扩展方法“Rows” 找不到类型“System.Data.DataSet”(是否缺少使用 指令或程序集 参考?)


如何解决此问题?

数据集不包含行。它们包含表格。最有可能的情况是,您应该使用
dt.Tables[0].Rows.Count


或者,您可以将
dt
的定义更改为
DataTable

将DataTable分配给GridView,然后检查行:

dt.Clear();
da.Fill(dt);
gvSubDetails.DataSource = dt;
gvSubDetails.DataBind();

if (gvSubDetails.RowCount > 0)  //Gridview uses RowCount, not Rows.Count
{
    //ToDo...
}
我相信这应该可以