2012-12-19 57 views
5

我有一個ObjectDataSource,我試圖傳遞一些參數。爲什麼ObjectDataSource不能發送正確的參數值?

GridDataSource.SelectMethod = "GetAllCountries"; 
GridDataSource.SelectParameters.Add("PageSize", pageSize.ToString()); 
GridDataSource.SelectParameters.Add("OrderBy", orderBy); 
GridDataSource.SelectParameters.Add("StartIndex", startIndex.ToString()); 

和我的方法是在App_Code文件/ DAL/CountriesDB.CS

public List<Countries> GetAllCountries(int PageSize,string OrderBy,int StartIndex) 
{ 
.......... 
} 

當我調試它,在GetAllCountries方法每頁= -1;排序依據= 「」,開始索引= 0被傳遞。 ..這裏發生了什麼??

事先日Thnx ...

回答

0

你可以試試這樣:

GridDataSource.SelectMethod = "GetAllCountries"; 
Parameter p1 = new Parameter("PageSize",TypeCode.Int32); 
Parameter p2 = new Parameter("OrderBy",TypeCode.String); 
Parameter p3 = new Parameter("StartIndex",TypeCode.Int32); 
GridDataSource.SelectParameters.Add(p1); 
GridDataSource.SelectParameters.Add(p2); 
GridDataSource.SelectParameters.Add(p3); 
0

我平時訂閱ObjectDataSource's Selecting event,在那裏我可以修改InputParmeters收集ObjectDataSourceMethodEventArgs e

e.InputParameters["PageSize"] = pageSize; // pageSize is an int in your select method 
e.InputParameters["OrderBy"] = orderBy; 
e.InputParameters["StartIndex"] = startIndex; // startindex is an int too 

此外,參數值不需要是字符串。它們應該匹配選擇方法的參數類型。

的選擇方法,必須指定無論是在代碼(就像你在你的問題做了):

GridDataSource.SelectMethod = "GetAllCountries"; // code 

...或標記:

<asp:ObjectDataSource ... SelectMethod="GetAllCountries" /> // markup 
+0

得到一個錯誤: 選擇操作,除非指定SelectMethod是不是由ObjectDataSource控件「GridDataSource」的支持。 –

+0

@TamalKantiDey您需要如此指定它。編輯我的帖子。 –

+0

是啊...試了....不工作.... –

4

處理的Selecting事件GridDataSource並在那裏輸入您的參數。

protected void GridDataSource_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) 
{  
    GridDataSource.SelectMethod = "GetAllCountries";    
    e.InputParameters.Clear(); 
    e.InputParameters.Add("PageSize", pageSize.ToString()); 
    e.InputParameters.Add("OrderBy", orderBy); 
    e.InputParameters.Add("StartIndex", startIndex.ToString());   
} 
+0

我得到這個錯誤: 除非指定了SelectMethod,否則ObjectDataSource'GridDataSource'不支持Select操作。 –

+0

看看這篇文章是否有用http://www.eranachum.com/PermaLink,guid,089badbf-c01c-4363-a236-617ccf85ce3b.aspx – keyboardP

相關問題