清除搜索框后出现网格视图数据绑定问题
本文关键字:网格 视图 数据绑定 问题 搜索 清除 | 更新日期: 2023-09-27 17:59:17
我正在使用sqldatasource绑定网格视图。如果我单击搜索按钮,我将使用以下代码用不同的存储过程sqldatasource重新绑定gridview。如果我清除搜索框并再次单击搜索,我希望网格视图重新绑定到原始数据源。但我总是收到错误"过程sp_get_ecr_list没有提供任何参数和自变量。"有什么想法吗?
if (searchbox.Value.Trim() != "")
{
SqlDataSource1.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
SqlDataSource1.SelectCommand = "sp_get_ecr_list_filter";
Parameter d = SqlDataSource1.SelectParameters["devNumber"];
SqlDataSource1.SelectParameters.Remove(d);
SqlDataSource1.SelectParameters.Add("devNumber", searchbox.Value);
GridView1.DataBind();
}
else
{
GridView1.DataBind();
}
您可以在绑定数据之前清除else
子句中的参数列表:
if (!string.IsNullOrWhiteSpace(searchbox.Value))
{
...
SqlDataSource1.SelectParameters.Add("devNumber", searchbox.Value);
}
else
{
SqlDataSource1.SelectCommand = "sp_get_ecr_list"; // Probably already set earlier in your code
SqlDataSource1.SelectParameters.Clear();
}
GridView1.DataBind();
那么,你是说当你清除搜索框并单击回车时,你的等式比较没有按你的意图进行,因此会落入if语句中吗?
试试这个:
if (string.IsNullOrEmpty(searchbox.Value))
{
// Data bind
}