Here’s the deal. Have a functioning web app using ASP.NET WebForms with a C# backend. The thing works fine, but I’m always looking to improve, as a beginner at this stuff. Right now, to deal with a user’s search coming back with no results, I utilize the following, and was wondering if there was any cleaner way to do it, for future reference:
DataClass data = new DataClass();
var searchresults = data.GetData(searchBox.Text);
int datanumber = searchresults.Count();
if (datanumber == 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "alert", "javascript:alert('There were no records found to match your search');", true);
}
else
{
DropDownList1.Visible = true;
DropDownList1.Items.Clear();
DropDownList1.DataSource = searchresults;
DropDownList1.DataBind();
}
I agree with the not using popups, so you could always do something as simple as having a Label object on your page:
And then set the text dynamically (or add it as a property to the code) and set the label to be visible on postback if no results are found:
But there are quite a vast number of ways you could achieve something like this. Regarding your question about using the .Count from the Enumerable collection – there’s nothing stopping you doing this as it’s perfectly valid. The question is which method do you find more readable?