2010-01-13 69 views
3

我正在嘗試設置綁定到GridView控件編程按鈕上點擊一個的LinqDataSource對象的WHERE子句,但是當在GridView重新綁定數據(例如,用戶排序時)Where子句重置回空字符串。有沒有辦法來防止這種情況,還是有更好的方法來過濾我的結果?如何防止LinqDataSource Where子句在回發時重置?

回答

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事件從視圖狀態的讀取屬性綁定到你的where子句?這完全取決於