Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么在if-else条件中添加标签而不调用ASP.NET WebForms?_C#_Sql_Asp.net_Gridview_Datatable - Fatal编程技术网

C# 为什么在if-else条件中添加标签而不调用ASP.NET WebForms?

C# 为什么在if-else条件中添加标签而不调用ASP.NET WebForms?,c#,sql,asp.net,gridview,datatable,C#,Sql,Asp.net,Gridview,Datatable,我使用文本框和按钮应用搜索,结果显示在ASP.NET的GridView中。如果结果与搜索不匹配,那么我希望标签1“您的搜索不匹配”应该可见。 这里的问题是,若搜索结果不匹配,就不会调用Label1。 代码如下: SqlConnection con4 = new SqlConnection("Data Source=***; Initial Catalog=***;Integrated Security=***;"); SqlCommand cmd4 = new SqlCommand("selec

我使用文本框和按钮应用搜索,结果显示在ASP.NET的GridView中。如果结果与搜索不匹配,那么我希望标签1“您的搜索不匹配”应该可见。 这里的问题是,若搜索结果不匹配,就不会调用Label1。 代码如下:

SqlConnection con4 = new SqlConnection("Data Source=***; Initial Catalog=***;Integrated Security=***;");
SqlCommand cmd4 = new SqlCommand("select newsid, title, thumbnail,imagepath,imagename from addnews where (title like'%" + TextBox1.Text.ToString() + "%')", con4);
SqlDataAdapter sda4 = new SqlDataAdapter(cmd4);
DataTable dt4 = new DataTable();

sda4.Fill(dt4);
if (dt4 != null)
{
    GridView3.DataSource = dt4;
    GridView3.DataBind();
}
else
{
    Label1.Visible = true;
}
ASPX标记

<asp:Label ID="Label1" runat="server" ForeColor="Red" Text="Search do not match" Visible="False"></asp:Label>
<asp:GridView ID="GridView3" runat="server"> </asp:GridView>


检查dt4!=null,它将始终为true,因为您将其初始化为new Datatable(),因此它永远不会进入语句的“else”部分,而只是在源代码中放入一个空dt4。

请参阅以下代码:

DataTable dt4 = new DataTable();

sda4.Fill(dt4);
if (dt4.Rows.Count > 0)
{
    GridView3.DataSource = dt4;
    GridView3.DataBind();
}
else
{
    Label1.Visible = true;
}

您还可以显示gridview和label的aspx代码吗?当然,我已将其添加到问题中。默认情况下,此类更新应转到“问题”。另一点-您在哪个页面事件中执行此操作?页面加载?您是否检查回发?感谢您的指导,我将确保在aspx上发布问题,我没有检查回发,我是在按钮单击事件中执行的:protected void btnSearch_click(object sender,EventArgs e){谢谢,一个Patel,它完成了任务