我试图在按钮单击时以编程方式设置绑定到GridView的LinqDataSource对象的where子句,但是当GridView重新绑定数据时(例如,当用户排序时),Where子句重置为空字符串。有没有办法阻止这种情况,还是有更好的方法来过滤我的结果?
答案 0 :(得分:3)
也许您只需将ViewState属性添加到页面/用户控件中,然后在所有帖子后面检索它?
public string MyLinqSourceWhere { get { return (string)this.ViewState["MyLinqSourceWhere"]; } set { this.ViewState["MyLinqSourceWhere"] = value; } } public void Page_Load(object sender, EventArgs e) { this.myLinqSource.Where = this.MyLinqSourceWhere; } public void Button1_Click(object sender, EventArgs e) { this.MyLinqSourceWhere = " .... "; this.myLinqSource.Where = this.MyLinqSourceWhere; }
如果这不起作用,那么可能在LinqDataSource.Selecting事件上绑定从viewstate到where子句的fetch属性?这完全取决于