【发布时间】:2015-02-17 13:27:08
【问题描述】:
我正在开发一个 asp:GridView。在这个 aspx 页面上,我为用户提供了通过在文本框中输入特定值来搜索当前 gridview 的选项。然后,我根据用户输入的内容设置了 SqlDataSource.FilterExpression。
例如,用户键入“MODEL1”并点击搜索。那么:
SqlDataSource.FilterExpression = "ModelName= " + "'" + TextBox.Text + "'";
接下来我需要做的是检查它是否提取了结果?显然我可以判断它是否不在页面上,因为没有可见的网格视图。但是,我需要一种方法来捕捉它,以便我可以重置 FilterExpression 并向用户抛出“搜索错误”消息。我在 FilterExpression 下看不到任何可以帮助我的方法,我已经尝试过 GridView.Rows.Count 并且它似乎不起作用。我还有其他选择吗?或者我可能做错了 Rows.Count 方法?
以下是触发搜索事件时发生的一些额外代码:
if (TextBox.Text == string.Empty)
{
errorLabel.Text = "Please enter a value";
}
else
{
SqlDataSource.FilterExpression = "ModelName= " + "'" + TextBox.Text + "'";
if (!GridView.Rows.Count > 0)
{
errorLabel.Text = "Model not found";
SqlDataSource.FilterExpression = "";
}
}
编辑:只是想添加 GridView.Rows.Count 产生的值 51,即没有 FilterExpression 存在的行数。
【问题讨论】:
标签: c# asp.net gridview sqldatasource