我有一個asp頁面,我正在使用gridview來顯示一些東西。我有綁定到數據庫中的表格的網格視圖。問題是我想根據where子句過濾我顯示的內容。GridView where where條款
<asp:LinqDataSource ID="ItemsDataSource" runat="server" ContextTypeName="Database.MyDataContext" TableName="ItemDetails" OnSelecting="ItemSourceSelecting" Where="ID == @ID" >
那麼這裏就是我的ItemSourceSelecting
protected void ItemSourceSelecting(object sender, LinqDataSourceSelectEventArgs e)
{
if (!IsPostBack)
e.WhereParameters.Add("ID", ID);
}
在頁面加載時,我第一次去它這個偉大的工程。問題是我只在GridView中顯示10個項目,然後在底部顯示頁碼。當我嘗試查看另一個頁面時,它將數據庫中的所有內容都帶回來,並且不會調用ItemSourceSelecting。是否有另一個地方或方式我應該這樣做,所以這不會發生?
編輯: 當我在LinqDataSource標記中硬編碼Where =「ID == 1」時,它工作正常。它似乎應該在更改頁面時調用ItemSourceSelecting,但它不是。不知何故,當頁面被改變時,where子句將被拋棄。
是否有任何方法可以像控制一樣將變量添加到中? –
thecaptain0220
2011-04-08 19:32:11