2012-09-17 35 views
0

嗨我已經看到了這個問題的幾個答案,但我有一個特殊的情況。當用戶點擊代碼後面的下拉列表時,我想控制使用網格視圖控件顯示在ASP.NET Web窗體上的內容。就像這樣:數據源不支持服務器端分頁

If ddlProducts.SelectedValue <> "-1" Then 
     gvCategories.DataSource = obj.getAll().Where(Function(c) c.productId = Integer.Parse(ddlProducts.SelectedValue)).Skip(0).Take(10) 

     gvCategories.DataBind() 

使用的ObjectDataSource,我得到一個錯誤 -

Both DataSource and DataSourceID are defined on 'gvCategories'. Remove one definition. 

但是,我需要做一個列表的過濾在後面的代碼,只能將其設置爲數據源不DataSourceID的。他們都強調不需要代碼。我如何去做。請原諒我,如果它已被回答,但我沒有看到它可能是因爲我很匆忙。謝謝。

回答

1

你可以使用ObjectDataSource來過濾一個列表,你可以通過給它添加一個新的SelectParameter並以某種方式(例如以編程方式)傳遞該參數的值。然後,將該值傳遞給數據提供者類(ObjectDataSource要求提供數據的那個類),以便您可以在查詢數據源時使用它。