2010-10-18 20 views
0

我有一個GridView,它選擇性地綁定到兩個ObjectDataSources中的一個。我通過設置GridView.DataSourceID來設置Page_Load中的開關。其中一個數據源具有涉及不總是存在的ControlID的參數。即使它沒有設置爲DataSourceID,數據源也會嘗試獲取ControlID的值,引發異常。交換/禁用ObjectDataSource

有沒有什麼方法來禁用我不需要的數據源?我試過Dispose()並將其設置爲null,但它仍然會拋出錯誤。設置參數值OnSelecting會使事情複雜化,所以如果可能的話,我想盡量避免。

回答

0

相反處置,我確實SelectParameters.Clear()和採取照顧的問題。

+1

如果ObjectDataSource的SelectMethod是什麼參數的?更好的辦法可能是使用單一ObjectDataSource控件和,而不是與數據源選擇綁定與網格中的代碼,而不是標記適當地配置單一數據源.. – 2010-10-18 19:20:25

+0

如果它的參數的話,就不會有'ControlParameter'和因此不會因爲缺少控制而拋出異常。我寧願保持它的聲明性,因爲參數列表非常長。 – 2010-10-18 19:29:29