Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 是否以编程方式更新FilterParameter值?_C#_Asp.net_Sqldatasource - Fatal编程技术网

C# 是否以编程方式更新FilterParameter值?

C# 是否以编程方式更新FilterParameter值?,c#,asp.net,sqldatasource,C#,Asp.net,Sqldatasource,如何更新已在aspx中定义了筛选器表达式和筛选器参数的SQLDataSource的筛选器参数值?我正在尝试添加alpha寻呼机 代码隐藏 protected void rptFilterUI_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "All") { ClearFilter(); } else { userSou

如何更新已在aspx中定义了筛选器表达式和筛选器参数的SQLDataSource的筛选器参数值?我正在尝试添加alpha寻呼机

代码隐藏

protected void rptFilterUI_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "All")
    {
        ClearFilter();
    }
    else
    {
        userSource.FilterParameters.Clear();
        userSource.FilterParameters[0].DefaultValue = "LOGINID";
        userSource.FilterParameters[1].DefaultValue = e.CommandName;
        userSource.DataBind();
    }
}
ASPX


它使索引超出范围

索引超出范围。必须为非负数且小于集合的大小。 参数名称:索引


FilterParameters是一个集合。因此,这份声明

userSource.FilterParameters.Clear()
…将截断筛选器参数列表。因此,如果您尝试引用空集合的成员,您将得到一个索引超出范围的异常

尝试此操作…在.Clear()之后立即放置以下代码

userSource.FilterParameters.Add(new ControlParameter("test2", "SearchByDropDownList", "SelectedValue"));            
userSource.FilterParameters.Add(new ControlParameter("test", "SearchTextBox", "Value"));
userSource.FilterParameters.Add(new ControlParameter("test2", "SearchByDropDownList", "SelectedValue"));            
userSource.FilterParameters.Add(new ControlParameter("test", "SearchTextBox", "Value"));