3

我正在尝试在单击按钮时以编程方式在绑定到 GridView 的 LinqDataSource 对象上设置 where 子句,但是当 GridView 重新绑定数据时(例如,当用户排序时), Where 子句将重置回空字符串。有没有办法防止这种情况,或者有更好的方法来过滤我的结果?

4

1 回答 1

3

也许您只是将 ViewState 属性添加到您的页面/用户控件中,然后在所有回发时检索它?

公共字符串 MyLinqSourceWhere
{
    获取 { 返回(字符串)this.ViewState["MyLinqSourceWhere"]; }
    设置 { this.ViewState["MyLinqSourceWhere"] = value; }
}

公共无效页面加载(对象发送者,EventArgs e)
{
    this.myLinqSource.Where = this.MyLinqSourceWhere;
}

公共无效Button1_Click(对象发送者,EventArgs e)
{
    this.MyLinqSourceWhere = " .... ";
    this.myLinqSource.Where = this.MyLinqSourceWhere;
}

如果这不起作用,那么也许在 LinqDataSource.Selecting 事件上将 fetch 属性从视图状态绑定到您的 where 子句?这一切都取决于

于 2010-01-14T11:37:33.210 回答