C# 为什么在if-else条件中添加标签而不调用ASP.NET WebForms?
我使用文本框和按钮应用搜索,结果显示在ASP.NET的GridView中。如果结果与搜索不匹配,那么我希望标签1“您的搜索不匹配”应该可见。 这里的问题是,若搜索结果不匹配,就不会调用Label1。 代码如下: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
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,它完成了任务